JP7335850B2 - High fever detection method, high fever detection device, and high fever detection system - Google Patents

High fever detection method, high fever detection device, and high fever detection system Download PDF

Info

Publication number
JP7335850B2
JP7335850B2 JP2020071175A JP2020071175A JP7335850B2 JP 7335850 B2 JP7335850 B2 JP 7335850B2 JP 2020071175 A JP2020071175 A JP 2020071175A JP 2020071175 A JP2020071175 A JP 2020071175A JP 7335850 B2 JP7335850 B2 JP 7335850B2
Authority
JP
Japan
Prior art keywords
person
detection
image recognition
microservice
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020071175A
Other languages
Japanese (ja)
Other versions
JP2021166637A (en
Inventor
武弘 吉本
晃 石塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Priority to JP2020071175A priority Critical patent/JP7335850B2/en
Publication of JP2021166637A publication Critical patent/JP2021166637A/en
Priority to JP2023131979A priority patent/JP2023138864A/en
Application granted granted Critical
Publication of JP7335850B2 publication Critical patent/JP7335850B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Emergency Alarm Devices (AREA)
  • Alarm Systems (AREA)
  • Image Analysis (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Description

本発明の実施形態は、高熱の健康状態になった人を検出する高熱者検出方法、高熱者検出装置、および高熱者検出システムに関する。 Embodiments of the present invention relate to a hyperthermia detection method, a hyperthermia detection device, and a hyperthermia detection system for detecting a hyperthermic health condition.

被測定対象者の皮膚表面温度を高速に非接触で検出する技術として、赤外線カメラを用いたサーモグラフィの技術が知られている。そのサーモグラフィ技術を利用した一例として、下記の技術が提案されている。 A thermography technique using an infrared camera is known as a technique for detecting the skin surface temperature of a person to be measured without contact at high speed. As an example of using the thermography technology, the following technology has been proposed.

特開2013-46668号公報JP 2013-46668 A

一実施形態によれば、 高熱者検出装置内に、第1の画像認識部と、第2の画像認識部と、人物の体温判定部と、高熱者の検知時のルールを定める検知時動作指示部と、携帯端末とその他の外部装置を操作するか否かを設定する検知時動作設定部と、前記携帯端末とその他の前記外部装置に対して、具体的動作指示を行うためのマイクロサービスと、を備え、
前記第1の画像認識部が、赤外光に感度を有する第1の光センサから得られる複数の人物の各頭部に対応する第1の信号から、第1の画像認識を行うこと、
前記第2の画像認識部が、赤外線以外の波長光に感度を有する撮像素子を含む第2の光センサから得られる前記複数の人物の各頭部に対応する第2の信号から、第2の画像認識を行うこと、
前記人物の体温判定部が、前記第1の画像認識の結果と前記第2の画像認識の結果から体温が所定値を超えた高熱者の有無を検出すること、
前記体温が前記所定値を超えた高熱者の有無の検出に応答した前記検知時動作指示部が、設定されているルールに従って通知用の指示を出力すると共に、前記検知時動作設定部に対しても前記高熱者の有無を検出したことを通知すること、
前記検知時動作設定部が、前記携帯端末とその他の前記外部装置に対する具体的動作指示を行うための前記マイクロサービスを設定しており、前記高熱者の有無の検出の通知に応答して、前記携帯端末とその他の前記外部装置に対して対応する前記マイクロサービスを前記具体的動作指示を出力するように制御すること、を備えた高熱者検出方法が提供される。
According to one embodiment, the high-temperature person detection device includes a first image recognition unit, a second image recognition unit, a person's body temperature determination unit, and an operation instruction at the time of detection that determines the rule at the time of high-temperature person detection. a detection operation setting unit for setting whether or not to operate the mobile terminal and other external devices; and a microservice for giving specific operation instructions to the mobile terminal and other external devices. , and
the first image recognition unit performing first image recognition from a first signal corresponding to each head of a plurality of persons obtained from a first optical sensor sensitive to infrared light;
The second image recognition unit recognizes a second image from a second signal corresponding to each head of the plurality of persons obtained from a second optical sensor including an image sensor having sensitivity to light of a wavelength other than infrared light. performing image recognition;
The person's body temperature determination unit detects the presence or absence of a hyperthermic person whose body temperature exceeds a predetermined value from the result of the first image recognition and the result of the second image recognition;
The detection-time operation instruction unit that responds to the detection of the presence or absence of a hyperthermic person whose body temperature exceeds the predetermined value outputs an instruction for notification according to a set rule, and outputs an instruction for notification to the detection-time operation setting unit Notifying that the presence or absence of the high fever person is also detected,
The detection operation setting unit sets the microservice for giving specific operation instructions to the mobile terminal and other external devices, and in response to the notification of detection of the presence or absence of the high fever person, the Controlling the microservice corresponding to the portable terminal and other external devices to output the specific operation instruction is provided.

本実施形態では、赤外光に感度を有する第1の光センサから得られた第1の信号と、赤外線以外の波長光に感度を有する撮像素子を含む第2の光センサから得られた第2の信号を利用して、体温が所定値を超えた高熱者を検出し、その検出結果を通知する高熱者検出方法、高熱者検出装置、および高熱者検出システムを提供する。 In the present embodiment, a first signal obtained from a first photosensor sensitive to infrared light and a second signal obtained from a second photosensor including an imaging device sensitive to light of wavelengths other than infrared light are used. 2 signal is used to detect a high fever person whose body temperature exceeds a predetermined value, and to provide a high fever detection method, a high fever detection device, and a high fever detection system for notifying the detection result.

図1は本実施形態の基本概念を示す説明図である。FIG. 1 is an explanatory diagram showing the basic concept of this embodiment. 図2は本実施形態における基本システムを示す説明図である。FIG. 2 is an explanatory diagram showing the basic system in this embodiment. 図3は画像認識技術を組み合わせない従来技術使用時の問題点を示す説明図である。FIG. 3 is an explanatory diagram showing a problem when using a conventional technique that is not combined with an image recognition technique. 図4は人物の頭部温度のみを判定に使用する場合の効果説明図を示す。FIG. 4 shows an explanatory diagram of the effect when only the head temperature of a person is used for determination. 図5は図2で示した基本システムで実行される動作フローを示す説明図である。FIG. 5 is an explanatory diagram showing the operation flow executed by the basic system shown in FIG. 図6は本実施形態の利用場面例を説明した説明図である。FIG. 6 is an explanatory diagram illustrating an example of a usage scene of this embodiment. 図7は本実施形態の他の実施例を示す説明図である。FIG. 7 is an explanatory diagram showing another example of this embodiment. 図8はアンドロイドベースのスマートフォンで使用されるプログラム構成を示す説明図である。FIG. 8 is an explanatory diagram showing a program configuration used in an Android-based smart phone. 図9はエッジコンピュータの構成とクラウドサーバとの関係を示す説明図である。FIG. 9 is an explanatory diagram showing the relationship between the configuration of the edge computer and the cloud server. 図10はアプリケーション(IF-THEN)エンジンの機能一覧を示す表である。FIG. 10 is a table showing a function list of the application (IF-THEN) engine. 図11は本実施形態における応用例概念を表現するブロック図である。FIG. 11 is a block diagram expressing the concept of an application example in this embodiment. 図12はマイクロサービスをOS非依存のプログラム言語で記述した場合の効果を説明した説明図である。FIG. 12 is an explanatory diagram illustrating the effects of writing microservices in an OS-independent program language. 図13はマイクロサービスのクラス構成を示す説明図である。FIG. 13 is an explanatory diagram showing the class structure of microservices. 図14は個別デバイス制御用パッケージで設定されるマイクロサービスの機能に関する説明図である。FIG. 14 is an explanatory diagram of the functions of microservices set in the individual device control package. 図15はマイクロサービス内制御テンプレートクラス(BaseIms Class)が提供するAPIの一覧を示す説明図である。FIG. 15 is an explanatory diagram showing a list of APIs provided by the microservice control template class (BaseIms Class). 図16はデバイス制御テンプレートクラス(Base Device Class)が提供するAPIの一覧を示す説明図である。FIG. 16 is an explanatory diagram showing a list of APIs provided by the device control template class (Base Device Class). 図17はデバイスの状態遷移図である。FIG. 17 is a device state transition diagram. 図18はデバイス状態とマイクロサービスの状態との関係を示す説明図である。FIG. 18 is an explanatory diagram showing the relationship between device states and microservice states. 図19は黒体輻射光源温度と分光放射輝度特性との関係を示す説明図である。FIG. 19 is an explanatory diagram showing the relationship between the blackbody radiation source temperature and the spectral radiance characteristics. 図20は3眼赤外線カメラ内部の構造説明図を示す。FIG. 20 shows an explanatory diagram of the internal structure of the trinocular infrared camera. 図21は図13に示したクラス構成内でのクラス間連携動作を説明している。FIG. 21 explains inter-class linkage operations within the class configuration shown in FIG. 図22は高熱者検出時に複数媒体への通知を行う設定方法を示す説明図である。FIG. 22 is an explanatory diagram showing a setting method for notifying multiple media when a person with high fever is detected. 図23は情報提供関連のマイクロサービスのクラス構成を示す説明図である。FIG. 23 is an explanatory diagram showing the class configuration of microservices related to information provision. 図24はユーザへ情報通知するまでの処理ステップを示す説明図である。FIG. 24 is an explanatory diagram showing processing steps up to notification of information to the user.

図1を用いて、本実施形態の基本的概念を説明する。図1(a)が示すように、複数の人が集まった場所を想定する。その中に体温が所定値(例えば摂氏37.5度)以上の高熱者が居た場合には、その高熱者を自動で個別検出する。図1(b)の表示例では、斜線で示した人が摂氏37.5度以上の高熱者に該当する。そしてその情報を、自動通知する(図1(c))。その通知方法として複数の選択肢が存在し、本実施形態では非常に簡単な方法で選択肢の選定が行える。ここで通知方法に関して、複数の方法を同時に選択してもよい。 The basic concept of this embodiment will be described with reference to FIG. As shown in FIG. 1(a), assume a place where a plurality of people have gathered. If there is a person with a high fever whose body temperature is a predetermined value (for example, 37.5 degrees Celsius) or more among them, the person with a high fever is automatically detected individually. In the display example of FIG. 1(b), the hatched person corresponds to a person with a high fever of 37.5 degrees Celsius or higher. Then, the information is automatically notified (FIG. 1(c)). A plurality of options exist as the notification method, and in this embodiment, the option can be selected by a very simple method. Here, regarding the notification method, a plurality of methods may be selected at the same time.

図1(a)では集合場所に集まった人数が比較的少数なため、各自はそれぞれ分離して表示されている。しかし集合する人の人口密度が増加すると、部分的な重なりが生じてくる。被測定対象物の表面温度分布を測定する従来のサーモグラフィ技術では、複数の人が互いに重なり合った場所での個別識別ができない。したがって従来のサーモグラフィ技術のみを使用した場合には、人の密集場所での高熱者のみの個別検出(密集場所からの個別抽出)ができない。 In FIG. 1(a), since the number of people gathered at the meeting place is relatively small, each person is displayed separately. But as the population density of congregating people increases, partial overlap occurs. A conventional thermography technique for measuring the surface temperature distribution of an object to be measured cannot identify individual persons in a place where a plurality of persons overlap each other. Therefore, if only the conventional thermography technology is used, it is impossible to individually detect (individually extract from a crowded place) only high-temperature persons in a crowded place.

本実施形態では赤外線カメラを用いたサーモグラフィ技術に画像認識技術を組み合わせて、高熱者のみの個別検出(個別抽出)を可能にした。具体的な組み合わせ方法として本実施形態では、赤外線カメラ806に対する制御手段4としてのマイクロサービス80Cの一部(あるいはその内部)に、AI技術を利用した画像認識機能を持ったプログラム(画像認識クラスAI Analyze Class)2018の組み込み76を行う。詳細は図11と図13を用いて後述する。 In this embodiment, image recognition technology is combined with thermography technology using an infrared camera to enable individual detection (individual extraction) of only high-temperature individuals. As a specific combination method, in this embodiment, a program having an image recognition function using AI technology (image recognition class AI Analyze Class) 2018 is incorporated 76 . Details will be described later with reference to FIGS. 11 and 13. FIG.

人が集合して活動する場所でのウィルス感染リスクを軽減するために、感染が疑われる高熱者を容易に検出・通知する技術が必要とされる。本実施形態では、既存のスマートフォンやタブレットなどのエッジコンピュータ6に市販の赤外線カメラ806を装着し、詳細は後述するifLink(登録商標)アプリと呼ぶソフトウェア(サービス提供アプリケーションプログラム)92をインストールするだけで利用が可能となる。 In order to reduce the risk of virus infection in places where people gather and work, there is a need for technology that easily detects and notifies people with high fever who are suspected of being infected. In this embodiment, a commercially available infrared camera 806 is attached to an edge computer 6 such as an existing smartphone or tablet, and software (service providing application program) 92 called ifLink (registered trademark) application, which will be described later in detail, is installed. available.

上記に説明した市販の赤外線カメラ806として、市販のスマートフォンやタブレットなどのエッジコンピュータ6と接続できる赤外線カメラ806を使用してもよい。この赤外線カメラ806を使用すると、非常に容易に市販のスマートフォンやタブレットなどのエッジコンピュータ6と接続できるので、本実施形態における高熱者検出システムを簡単に構築できる。 As the commercially available infrared camera 806 described above, an infrared camera 806 that can be connected to the edge computer 6 such as a commercially available smartphone or tablet may be used. By using this infrared camera 806, it can be very easily connected to a commercially available edge computer 6 such as a smart phone or a tablet, so that the high fever detection system in this embodiment can be easily constructed.

また上記のifLinkアプリ92は、多くの人が所持しているスマートフォンやタブレットのアプリとして動作する。その結果として、既存のスマートフォンやタブレット、赤外線カメラ806のインフラストラクチャ(使用環境)を使用し、ifLinkアプリ92のインストールという非常に簡易的な方法のみで、各活動拠点での感染リスク軽減に役立つ効果がある。 Also, the ifLink application 92 described above operates as an application for smartphones and tablets owned by many people. As a result, it is possible to use existing smartphones, tablets, and the infrastructure (usage environment) of the infrared camera 806 and install the ifLink application 92, which is a very simple method to reduce the risk of infection at each activity site. There is

本実施形態において赤外線カメラ806が撮影した映像あるいは静止画像に画像認識を組み合わせて、集団の中から高熱者のみを個別検出(個別抽出)し、その情報を自動で通知する。 In this embodiment, image recognition is combined with the video or still image captured by the infrared camera 806 to individually detect (individually extract) only those with high fever from the group, and automatically notify the information.

赤外線カメラ806によるサーモグラフィ技術を活用して被測定対象物の表面温度を検知する方法は、従来から存在する。しかし上述したように人が密集して複数人が重なった場合、これまでは映像/静止画の観察者が目視で確認しながら個人個人に分離(個別抽出)することが必要だった。さらに従来のサーモグラフィ技術のみでは被測定対象物が人間か他の物体かの識別ができないため、被測定対象物の識別者を必要とする。そのため従来のサーモグラフィ技術は、専任の監視員を配備できる会社や施設の受付などでしか利用できなかった。
本実施形態ではAI技術を用いた画像認識クラス(AI Analyze Class)2018の組み込み76により、赤外線カメラから得られた画像(映像または静止画)をコンピューター(エッジコンピュータ6)が高熱者を認識する。このようにエッジコンピュータ6内部で自動認識されるので、監視員がいなくても高熱者を検知し通知することができる。従って本実施形態では監視(高熱者の自動個別検出)コストが大幅に低下する効果がある。
なお高熱者の認識方法として本実施形態ではAI技術を用いた画像認識クラス(AI Analyze Class)2018の使用に限らず、任意の画像認識方法を採用してもよい。例えば専用の画像認識機能を有した独自のハードウェアを事前に準備してもよい。この場合にはこのハードウェア宛に赤外線カメラから得られた画像を送信して画像認識させ、その結果を返信させてもよい。
There is a conventional method of detecting the surface temperature of an object to be measured using thermography technology using an infrared camera 806 . However, as described above, when people are densely packed and multiple people overlap, it has been necessary until now for the viewer of the video/still image to visually check and separate them into individuals (individual extraction). Furthermore, since it is not possible to distinguish whether the object to be measured is a person or another object with only the conventional thermography technology, a person who identifies the object to be measured is required. For this reason, conventional thermography technology could only be used at the reception desks of companies and facilities where full-time observers can be assigned.
In this embodiment, the image recognition class (AI Analyze Class) 2018 using AI technology is incorporated 76 so that the computer (edge computer 6) recognizes the high fever person in the image (video or still image) obtained from the infrared camera. Since it is automatically recognized inside the edge computer 6 in this way, a person with high fever can be detected and notified without a supervisor. Therefore, in this embodiment, there is an effect that the cost of monitoring (automatic individual detection of a person with high fever) is greatly reduced.
In this embodiment, the method for recognizing a person with high fever is not limited to the use of the image recognition class (AI Analyze Class) 2018 using AI technology, and any image recognition method may be employed. For example, unique hardware having a dedicated image recognition function may be prepared in advance. In this case, an image obtained from the infrared camera may be transmitted to this hardware for image recognition, and the result may be sent back.

図1(c)では体温が所定値(例えば摂氏37.5度)を超えた高熱者を検出すると、その結果を自動通知する。この自動通知方法の選択肢例として、高熱者の存在を明示した画像(映像または静止画像)をスマートフォンやタブレットなどのエッジコンピュータ6の表示画面12上に表示1210してもよい。またそれに限らず、高熱者を検出したエッジコンピュータ6の近くに設置されたサイネージ(電子掲示板)804上に警告を表示1220してもよい。 In FIG. 1(c), when a high fever person whose body temperature exceeds a predetermined value (for example, 37.5 degrees Celsius) is detected, the result is automatically notified. As an example of options for this automatic notification method, an image (video or still image) clearly indicating the presence of a person with high fever may be displayed 1210 on the display screen 12 of the edge computer 6 such as a smartphone or tablet. Alternatively, a warning may be displayed 1220 on a signage (electronic bulletin board) 804 installed near the edge computer 6 that has detected a high fever person.

また表示形態として特定画像に限らず、“警告文をテキスト形式で記述”された警告画面をエッジコンピュータ6の表示画面12上やサイネージ804上に表示1230してもよい。さらに所定画像やテキスト警告文などの視覚に訴えるだけでなく、音声警告1240などの聴覚や、触覚、嗅覚に訴える方法で通知してもよい。 Further, the display format is not limited to a specific image, and a warning screen in which “a warning message is written in text format” may be displayed 1230 on the display screen 12 of the edge computer 6 or on the signage 804 . Furthermore, notification may be made not only by a method that appeals to the sense of sight such as a predetermined image or a text warning, but also by a method that appeals to the sense of hearing, such as the voice warning 1240, or the sense of touch or smell.

さらにネットワーク通信などを利用して、高熱者検出場所から離れた場所へ通知する遠隔通知を行ってもよい。この遠隔通知方法として、メール通信(230)1250や、Web画面(210)上の情報掲載1260を行ってもよい。このWeb画面上に掲載1260される情報として高熱者個別情報に限らず、異なる多数箇所で得られた情報の集計結果を掲示してもよい。 Further, remote notification may be performed by using network communication or the like to notify a place away from the place where the high-temperature person is detected. As this remote notification method, mail communication (230) 1250 or information posting 1260 on the web screen (210) may be performed. The information to be posted 1260 on this web screen is not limited to the individual information of the high fever person, and may be the aggregate result of information obtained at many different places.

また通知形態として上記に説明した“情報伝達”に限らず、通行ゲート(820)の遮断処理1270など機器動作1290を伴う物理的操作を行ってもよい。 Further, the form of notification is not limited to the above-described "information transmission", and a physical operation accompanied by the device operation 1290 such as the blocking process 1270 of the passage gate (820) may be performed.

上記に説明した選択肢に限らず、任意の通知方法で高熱者の存在を通知してもよい。また通知方法として、複数の選択肢に対して同時に通知してもよい。 The presence of a high fever person may be notified by any notification method, not limited to the options described above. As a notification method, a plurality of options may be notified at the same time.

従来の監視システムは検知後の通知のしくみが固定であり、そのための利用方法に柔軟性がなかった。それに比べて本実施形態における高熱者を検知後の通知方法は、利用者(ユーザ)の所持する機器、ソフトウェア等に合わせて柔軟に設定することができる。その柔軟に設定できる選択肢として、パトライト(登録商標)を点灯してもよいし、警報音1240を鳴らしたり音声合成を利用した音声案内1280(音声警告1240)、メール送信1250やSNS(Social Networking Service)等のメッセージングソフトで通知、画面表示1210、1230など任意に設定可能となっている。この通知方法としては、事前に利用者が設定した方法を使用する。
この利用者(ユーザ)の所持する機器、ソフトウェア等に合わせて柔軟に設定可能にする技術として本実施形態では図7や図11、図22を用いて後述するように、アプリケーション(IF-THEN)ルール70の設定と、それを利用したアプリケーション(IF-THEN)エンジン90の設定を行う。つまりユーザは、例えばスマートフォンなどの画面上で上記のような複数の通知方法の仕組みの中から一つあるいは複数の通知方法を柔軟に設定できる。
Conventional surveillance systems have a fixed notification mechanism after detection, and there was no flexibility in how to use it. In contrast, the notification method after detection of a high fever person in the present embodiment can be flexibly set according to the equipment, software, etc. possessed by the user (user). Options that can be set flexibly include turning on a patrol light (registered trademark), sounding an alarm sound 1240, voice guidance 1280 using voice synthesis (audio warning 1240), mail transmission 1250, and SNS (Social Networking Service). ), etc., can be arbitrarily set for notification, screen display 1210, 1230, and the like. As this notification method, a method set by the user in advance is used.
As a technique for flexibly setting according to the device, software, etc. possessed by the user (user), in this embodiment, as will be described later with reference to FIGS. 7, 11 and 22, an application (IF-THEN) The rule 70 is set and the application (IF-THEN) engine 90 using it is set. In other words, the user can flexibly set one or a plurality of notification methods from among the multiple notification method mechanisms described above on the screen of a smartphone or the like.

図2を用いて、本実施形態における基本システム(高熱者検出システム)を説明する。本基本システム(高熱者検出システム)では、赤外光に感度を有する第1の光センサに該当する赤外線カメラ806と、赤外線以外の波長光に感度を有する撮像素子を含む第2の光センサである通常のカメラ816を併用する。 A basic system (high-temperature person detection system) in this embodiment will be described with reference to FIG. In this basic system (high fever detection system), an infrared camera 806 corresponding to a first optical sensor sensitive to infrared light and a second optical sensor including an imaging device sensitive to light of wavelengths other than infrared light are used. A common camera 816 is also used.

一般的に波長域が380nmから810nmの範囲を“可視光”と呼び、波長域が810nmから1mmの範囲を一般的には“赤外線”または“赤外光”と呼ぶ。しかし黒体輻射光を用いて“人間の体温測定”を行うのに適した“赤外光”の波長域は図19が示すように、1μmから100μmの範囲内であり、望ましくは2.5μmから20μmの範囲内が適正と考えられる。したがってここで第1の光センサとして赤外線カメラ806で使用される“赤外線”または“赤外光”の波長域は、1μmから100μmの範囲内(望ましくは2.5μmから20μmの範囲内)を意味する。 Generally, the wavelength range from 380 nm to 810 nm is called "visible light", and the wavelength range from 810 nm to 1 mm is generally called "infrared light" or "infrared light". However, as shown in FIG. 19, the wavelength range of "infrared light" suitable for "measurement of human body temperature" using black body radiation is within the range of 1 μm to 100 μm, preferably 2.5 μm. to 20 μm is considered appropriate. Therefore, the wavelength range of "infrared" or "infrared light" used herein by the infrared camera 806 as the first photosensor means within the range of 1 μm to 100 μm (preferably within the range of 2.5 μm to 20 μm). do.

したがって上記範囲を外れた波長光を、ここでは“赤外線以外の波長光”と呼ぶ。また本実施形態では、体温が所定値を超えた高熱者の検出に前記の“赤外線以外の波長光”に感度を有する撮像素子を含む第2の光センサ(通常のカメラ816)から得られた第2の信号も使用する。それに適した光として、紫外線(波長10nm以上)、可視光、近赤外光(波長2.5μm以下)、マイクロ波(波長10cm以下)が適している。上記の情報を加味した“赤外線以外の波長光”の波長域は、10nmから2.5μmの範囲あるいは20μmから10cmの範囲(望ましくは380nmから1μmの範囲あるいは100μmから10cmの範囲)となる。 Therefore, light with wavelengths outside the above range is referred to herein as "light with wavelengths other than infrared rays". Further, in this embodiment, the second optical sensor (ordinary camera 816) including an imaging element having sensitivity to the above-mentioned "light of wavelengths other than infrared rays" is used to detect a hyperthermia person whose body temperature exceeds a predetermined value. A second signal is also used. Light suitable for this purpose includes ultraviolet light (wavelength of 10 nm or more), visible light, near-infrared light (wavelength of 2.5 μm or less), and microwave (wavelength of 10 cm or less). Considering the above information, the wavelength range of "light of wavelengths other than infrared rays" is the range from 10 nm to 2.5 μm or the range from 20 μm to 10 cm (preferably the range from 380 nm to 1 μm or the range from 100 μm to 10 cm).

“通常カメラ816”とは一般的に、波長域が380nmから810nmの“可視光”に感度を有する撮像素子を含む第2の光センサを示す場合が多い。しかし図2に記載した“通常カメラ816”は、10nmから2.5μmの範囲あるいは20μmから10cmの範囲(望ましくは380nmから1μmの範囲あるいは100μmから10cmの範囲)に感度を有する撮像素子を含む光センサを示す。 The “ordinary camera 816” generally indicates a second optical sensor including an imaging element sensitive to “visible light” in the wavelength range of 380 nm to 810 nm. However, the "normal camera 816" described in FIG. shows the sensor.

スマートフォンやタブレットなどのエッジコンピュータ6の多くには、通常カメラ816が標準的に内蔵されている。したがってスマートフォンやタブレットなどのエッジコンピュータ6に標準的に内蔵されたカメラを、図2に示す通常カメラ816として使用しても良い。 Most edge computers 6 such as smartphones and tablets usually have a built-in camera 816 as standard. Therefore, a camera standardly built in the edge computer 6 such as a smart phone or a tablet may be used as the normal camera 816 shown in FIG.

一方で市販の赤外線カメラ806を使用する場合には、その赤外線カメラ806(赤外光に感度を有する第1の光センサ)から得られた第1の信号(温度特性信号)を、無線通信手段あるいは有線通信手段を利用してエッジコンピュータ6に通信してもよい。またそれに限らず図3を使って後述するように、接続部10を介して直接信号転送してもよい。 On the other hand, when a commercially available infrared camera 806 is used, the first signal (temperature characteristic signal) obtained from the infrared camera 806 (first optical sensor sensitive to infrared light) is transmitted to the wireless communication means. Alternatively, it may be communicated to the edge computer 6 using wired communication means. Alternatively, signals may be directly transferred via the connection unit 10 as will be described later with reference to FIG.

図2に示すように本システムのアプリケーション100(ソフトプログラム)は、利用シーンに応じた認識ロジックの設定が可能な認識設定部110の機能と、判定温度設定部120の機能、アプリケーション(IF-THEN)ルール70(図7と図11、図22を用いて後述)を設定する検知ルール設定部130の機能、検知時動作設定部140の機能、検知情報送信部150の機能から構成されている。図2の実施例では、この本システムのアプリケーション100は、エッジコンピュータ6にインストールされるソフトウェアの形態を取る。しかしそれに限らず、各構成110~150の機能一部が専用ハード(電子回路)で構成されてもよい。 As shown in FIG. 2, an application 100 (software program) of this system includes a function of a recognition setting unit 110 capable of setting a recognition logic according to a usage scene, a function of a determination temperature setting unit 120, and an application (IF-THEN ) detection rule setting unit 130 for setting rules 70 (described later with reference to FIGS. 7, 11, and 22), detection operation setting unit 140, and detection information transmission unit 150. In the example of FIG. 2, this system application 100 takes the form of software installed on the edge computer 6 . However, it is not limited to this, and part of the functions of each configuration 110 to 150 may be configured by dedicated hardware (electronic circuits).

従って上述した本システムのアプリケーション100(ソフトプログラム)がインストールされたエッジコンピュータ6あるいは各機能110~150の一部を実行する専用ハード(電子回路)が組み込まれたエッジコンピュータ6が、本実施形態における高熱者検出装置に該当する。 Therefore, the edge computer 6 in which the application 100 (software program) of the system described above is installed or the edge computer 6 in which dedicated hardware (electronic circuits) for executing a part of each of the functions 110 to 150 is installed is used in this embodiment. It corresponds to a high fever detection device.

赤外線カメラ806(赤外光に感度を有する第1の光センサ)から得られた第1の信号(温度特性信号)は、認識設定部(の機能)110の赤外線画像認識部116(第1の画像認識部)に送信される。そしてこの赤外線画像認識部116で、空間的な温度分布特性が画像認識(第1の画像認識)される。 A first signal (temperature characteristic signal) obtained from the infrared camera 806 (first optical sensor sensitive to infrared light) is used by the infrared image recognition section 116 (first image recognition unit). The infrared image recognition unit 116 performs image recognition (first image recognition) of the spatial temperature distribution characteristics.

通常のカメラ816(赤外線以外の波長光に感度を有する撮像素子を含む第2の光センサ)から得られた画像信号(映像信号または静止画像信号が相当し第2の信号に対応)は、認識設定部(の機能)110の通常カメラ画像認識部112(第2の画像認識部)に送信される。そしてこの通常カメラ画像認識部112で行う第2の画像認識として、
1〕画像信号の画像認識(画像解析)を行い、
2〕画面内に人が居るかどうかを判別(人物検出)し、
3〕画面内に人が居る場合には、その人数を算出(人数検出)し、
4〕画面内に人が居る場合に限り、その人数それぞれの頭部の位置を認識(頭部検出)する。またそれと同時に
5〕画面内に判別された人毎に、その人と赤外線カメラ806との距離の計算(距離検出)も行ってもよい。
An image signal (corresponding to a video signal or a still image signal and corresponding to a second signal) obtained from an ordinary camera 816 (a second optical sensor including an imaging device sensitive to light of wavelengths other than infrared rays) is used for recognition. It is transmitted to the normal camera image recognition unit 112 (second image recognition unit) of the setting unit (function of) 110 . As the second image recognition performed by the normal camera image recognition unit 112,
1) perform image recognition (image analysis) of the image signal,
2) Determining whether or not there is a person in the screen (person detection),
3) If there are people in the screen, calculate the number of people (detect the number of people),
4) Recognize the position of the head of each person (head detection) only when there are people in the screen. At the same time, 5) for each person identified in the screen, the distance between the person and the infrared camera 806 may be calculated (distance detection).

また判定温度設定部(の機能)120には人物頭部温度判定部125が存在し、この中で赤外線カメラ806の方向を向いている人物頭部の温度が体温として測定される。そして体温が所定値(例えば摂氏37.5度)を超えた高熱者を検出(高熱者有無の判定)する。その温度判定の結果として高熱者を検出した場合には、自動的に通知を行う。具体的には検知ルール設定部(の機能)130の検知時動作指示部(アプリケーション(IF-THEN)エンジン)90に検知情報が伝わる。そして検出部動作設定部(の機能)140が動作して、通知処理が実行される。 The determination temperature setting unit 120 also includes a person's head temperature determination unit 125, in which the temperature of the person's head facing the infrared camera 806 is measured as body temperature. Then, a high-temperature person whose body temperature exceeds a predetermined value (for example, 37.5 degrees Celsius) is detected (determination of the presence or absence of a high-temperature person). If a person with high fever is detected as a result of the temperature determination, notification is automatically made. Specifically, detection information is transmitted to a detection operation instruction unit (application (IF-THEN) engine) 90 of the detection rule setting unit (function of) 130 . Then, the detection unit operation setting unit (function of) 140 operates to execute notification processing.

図3と図4を用いて、この通常カメラ画像認識部112で行われる“2〕人物検出”の説明を行う。赤外線カメラ806から得られた第1の信号(温度特性信号)のみからでは、黒体輻射する熱源の種別(何から熱が輻射されているか?)を特定できない。したがって通常カメラ画像認識部112で行われる画像認識技術を組み合わせない場合には、人以外の物体の温度も判定される。 3 and 4, "2) person detection" performed by the normal camera image recognition unit 112 will be described. Only from the first signal (temperature characteristic signal) obtained from the infrared camera 806, the type of heat source that emits black body radiation (from what is heat radiated?) cannot be identified. Therefore, when the image recognition technology normally performed by the camera image recognition unit 112 is not combined, the temperature of objects other than people is also determined.

図3(a)が示す例として、手に持っているコーヒーカップ内に入った高温のコーヒーを飲んでいる人を考える。そしてこの時には、コーヒーカップの表面温度が50℃だったとする。この場面から得られるサーモグラフィ画面(赤外線画像認識部116の出力)では図3(b)が示すように、コーヒーカップの表面温度50℃が検出される。人の高熱か否かの判定温度が“37.5℃”とした場合には、この判定温度をコーヒーカップの表面温度50℃が超える。黒体輻射する熱源の種別(何から熱が輻射されているか?)を特定できないと、『高熱者が存在する』と誤判定される(図3(c))。 As an example illustrated by FIG. 3(a), consider a person drinking hot coffee from a coffee cup held in the hand. At this time, it is assumed that the surface temperature of the coffee cup is 50°C. On the thermography screen (output of the infrared image recognition unit 116) obtained from this scene, a surface temperature of 50° C. of the coffee cup is detected as shown in FIG. 3(b). If the determination temperature for determining whether a person has a high fever is "37.5°C", the surface temperature of the coffee cup of 50°C exceeds this determination temperature. If the type of heat source that radiates black body (from what is the heat radiated?) cannot be specified, it is erroneously determined that "a person with high fever exists" (Fig. 3(c)).

図4は、『人の頭部の温度のみを判定に使用』する場合の効果を示す。ここで図4(a)は、図3(a)と同じ図を示している。そして『人の頭部の温度のみを判定に使用』する場合には、コーヒーカップの表面温度50℃が検出対象から外される(図4(b))。 FIG. 4 shows the effect of "using only the temperature of a person's head for determination". Here, FIG. 4(a) shows the same view as FIG. 3(a). When "only the temperature of the person's head is used for determination", the coffee cup surface temperature of 50°C is excluded from the detection target (Fig. 4(b)).

この通常カメラ画像認識部112で行われる“2〕人物検出”の結果と赤外線画像識別部116から出力される画面内の空間的温度分布特性は、人物頭部温度判定部125(図2)で統合処理される。そして人物頭部温度判定部125では図4(c)が示すように、『人の頭部の温度のみ』が“高熱者の有無判定”に利用される。ここでは人物の頭部温度を体温測定に利用しているが、それに限らず人物の任意場所を体温測定に利用してもよい。人物の頭部以外で体温測定する場合には、“人物頭部温度判定部125”の名称は同じ機能を有する“人物の体温判定部”に変更してもよい。そしてこの場合には、“第1の画像認識の結果と第2の画像認識の結果から、人物の体温判定部が体温が所定値を超えた高熱者の有無を検出する”ことになる。 The results of “2) human detection” performed by the normal camera image recognition unit 112 and the spatial temperature distribution characteristics in the screen output from the infrared image identification unit 116 are obtained by the human head temperature determination unit 125 (FIG. 2). Integrated processing. Then, as shown in FIG. 4C, the person's head temperature determining unit 125 uses "only the temperature of the person's head" for "determining the presence or absence of a high fever person". Here, the head temperature of the person is used for body temperature measurement, but not limited to this, any arbitrary location of the person may be used for body temperature measurement. When the body temperature is measured at a part other than the head of a person, the name of the "person's head temperature determination unit 125" may be changed to "person's body temperature determination unit" having the same function. In this case, "from the result of the first image recognition and the result of the second image recognition, the person's body temperature determination unit detects the presence or absence of a hyperthermia person whose body temperature exceeds a predetermined value".

このように本実施形態では、赤外光に感度を有する第1の光センサ(赤外線カメラ806)から得られた第1の信号と、赤外線以外の波長光に感度を有する撮像素子を含む第2の光センサ(通常カメラ816)から得られた第2の信号を併用して、体温が所定値を超えた高熱者を検出する。その結果として、正常判定(図4(d))の判定精度が大幅に向上する効果が生まれる。 Thus, in this embodiment, the first signal obtained from the first optical sensor (infrared camera 806) sensitive to infrared light and the second optical sensor including the imaging element sensitive to light of wavelengths other than infrared light are used. The second signal obtained from the optical sensor (normal camera 816) is also used to detect a high fever person whose body temperature exceeds a predetermined value. As a result, the accuracy of determination of normality (FIG. 4(d)) is significantly improved.

次に前述した通常カメラ画像認識部112(図2)で行われる“4〕頭部検出”の説明を行う。図3と図4を用いて上述したように、頭部の温度だけを取得すると他の熱源による誤検知を排除できる効果がある。またさらに、
A〕胴体や肢体は被服で覆われて露出しないので、そこからの体温測定結果の誤差が大きい
B〕頭部は比較的露出しているため、比較的体温測定し易い。
したがって頭部の温度のみの取得を行う事で、体温測定精度が向上する効果もある。
Next, "4) head detection" performed by the normal camera image recognition unit 112 (FIG. 2) described above will be described. As described above with reference to FIGS. 3 and 4, acquiring only the temperature of the head has the effect of eliminating erroneous detection due to other heat sources. Furthermore,
A) Since the trunk and limbs are covered with clothing and are not exposed, the error in the body temperature measurement results from there is large. B) The head is relatively exposed, so it is relatively easy to measure the body temperature.
Therefore, acquiring only the temperature of the head has the effect of improving the accuracy of body temperature measurement.

さらに通常カメラ画像認識部112で行われる“3〕人数検出”との関係も説明する。複数の人が密集した場所から得られる画像(映像または静止画像)では、
C〕体の一部(胴体や肢体)が隣接者と重なり易いが、頭部の位置は比較的分離配置される
という特徴がある。したがって本実施形態では特に頭部位置を利用することで“3〕人数検出”の画像認識処理の簡素化が図れるばかりでなく、“3〕人数検出”の精度も向上する。
Furthermore, the relationship with "3. People detection" performed by the camera image recognition unit 112 will also be described. In images (video or still) obtained from a crowded place with multiple people,
C) A part of the body (torso or limbs) tends to overlap with an adjacent person, but the position of the head is relatively separated. Therefore, in this embodiment, by using the head position in particular, not only can the image recognition processing of "3) detection of the number of people" be simplified, but also the accuracy of "3) detection of the number of people" can be improved.

通常カメラ画像認識部112で行われる“4〕頭部検出”を利用した、“2〕人物検出”と“3〕人数検出”の具体的方法に付いて説明する。人物の頭部の形や髪形に関する複数の標準サンプルが予め、通常カメラ画像認識部112に保存されている。そして通常カメラ816(赤外線以外の波長光に感度を有する撮像素子を含む第2の光センサ)から得られた画像(第2の信号)と上記複数の標準サンプル間のパターンマッチング度を算出する。そしてパターンマッチング度が所定値を超えた領域を“人の頭部候補”と推定する。 A specific method of "2) person detection" and "3) number of people detection" using "4) head detection" normally performed by the camera image recognition unit 112 will be described. A plurality of standard samples relating to the shape of a person's head and hairstyle are normally stored in advance in the camera image recognition unit 112 . Then, the degree of pattern matching between the image (second signal) obtained from the normal camera 816 (second optical sensor including an imaging device sensitive to light of wavelengths other than infrared rays) and the plurality of standard samples is calculated. Then, an area where the degree of pattern matching exceeds a predetermined value is estimated as a "human head candidate".

多くの場合、“人の頭部”の下に胴体が存在し、その胴体の周辺に肢体(手足)が配置されている。このように推定された“人の頭部候補”の直下に胴体や肢体が検出された場合のみ、“2〕人物検出”が行われる。そして画面内の“2〕人物検出”された領域の数が、“3〕人数検出”の結果となる。 In many cases, the torso exists under the "human head", and the limbs (limbs) are arranged around the torso. "2) Human detection" is performed only when the body or limbs are detected directly under the "human head candidate" estimated in this way. Then, the number of areas in the screen where "2) person detection" is performed becomes the result of "3) number of people detection".

ところで“4〕頭部検出”された領域が“頭部の後ろ側”の場合には、精度の良い体温測定は難しくなる。体温測定対象者が後ろを向いた場合を考える。この場合には頭部の表皮から放出された黒体輻射光が、赤外線カメラ806に向かう光路途中の毛髪で散乱される。そして赤外線カメラ806で検出される黒体輻射光の光量が大幅に低下するため、体温測定精度が大幅に低下する(サーモグラフィの検出原理は、図19を用いて後述する)。そのため“赤外線カメラ806に向かって前方を向いた頭部”のみを検出するのが望ましい。 By the way, when "4) head detection" is performed on the "back side of the head", accurate body temperature measurement becomes difficult. Consider a case in which the body temperature measurement subject faces the back. In this case, black body radiation emitted from the epidermis of the head is scattered by hair on the optical path toward infrared camera 806 . Since the amount of black body radiation detected by the infrared camera 806 is greatly reduced, the body temperature measurement accuracy is greatly reduced (the detection principle of thermography will be described later with reference to FIG. 19). Therefore, it is desirable to detect only "the head facing forward toward the infrared camera 806".

“赤外線カメラ806方向を向いた頭部”のみを“4〕頭部検出”の方法として、頭部前方に配置された“目”や“鼻”、“口”の位置を利用してもよい。具体的方法として、目や鼻、口の形状に関する複数の標準サンプルを、通常カメラ画像認識部112に予め保存されておく。そして通常カメラ816から得られた画像を細かい領域に分割し、分割領域毎に目や鼻、口の標準サンプルとの間のパターンマッチング度を算出する。そして得られた“目の候補となる領域の位置”と、“鼻の候補となる領域の位置”、“口の候補となる領域の位置”間の位置関係を利用して、“赤外線カメラ806方向を向いた頭部”を検出する。 Only the "head facing the direction of the infrared camera 806" may be used as the "4) head detection" method, and the positions of the "eyes", "nose", and "mouth" arranged in front of the head may be used. . As a specific method, a plurality of standard samples relating to the shape of eyes, nose, and mouth are normally stored in the camera image recognition unit 112 in advance. Then, the image obtained from the normal camera 816 is divided into fine regions, and the degree of pattern matching between each divided region and standard samples of eyes, nose, and mouth is calculated. Then, using the obtained positional relationship among the "position of eye candidate region", "position of nose candidate region", and "position of mouth candidate region", "infrared camera 806 Detects the head facing the direction.

上記の説明では“赤外線カメラ806方向を向いた頭部”に関して“4〕頭部検出”を行い、
人物頭部温度判定部125で頭部の体温を測定した。しかしそれに限らず、頭部以外の領域を利用して体温測定してもよい。
In the above description, "4) head detection" is performed with respect to "the head facing the direction of the infrared camera 806",
The human head temperature determining unit 125 measured the body temperature of the head. However, the temperature is not limited to this, and the body temperature may be measured using a region other than the head.

また“2〕人物検出”の方法としても、必ずしも“4〕頭部検出”の結果を利用する必要は無い。本実施形態における“2〕人物検出”では、利用シーンに応じた柔軟な方法が適用できる。例えば受付カウンタを訪れた来客数は同時に数名以下の場合が多いので、比較的容易に人物の個別識別が容易となる。しかし受付カウンタ奥に設置された通常カメラ816では、来客者の上半身しか撮影できない。 Also, as the method of "2) person detection", it is not always necessary to use the result of "4) head detection". In "2) person detection" in this embodiment, a flexible method can be applied according to the usage scene. For example, since the number of visitors who visit the reception counter at the same time is often less than several, individual identification of persons is relatively easy. However, the normal camera 816 installed behind the reception counter can only photograph the upper body of the visitor.

また通常カメラ816で通路を撮影する場合には全身撮影が可能な反面、動いている人を認識する必要がある。つまり通路での高熱者検出には、高速性が要請される。一方で40人程度の生徒が集まった教室内で高熱者を検出する場合には、大勢の人の体温を同時測定する必要がある。 Also, when the normal camera 816 is used to photograph the aisle, it is possible to photograph the whole body, but on the other hand, it is necessary to recognize a moving person. In other words, high-speed detection is required for high-temperature person detection in passages. On the other hand, when detecting a person with a high fever in a classroom where about 40 students have gathered, it is necessary to simultaneously measure the body temperatures of many people.

このように異なる利用シーン毎に最適な人物検出ロジックを予め設定しておき、活用場面毎に最適ロジックを選択して柔軟な対応を可能にすることが好ましい。この活用場面に応じた柔軟な対応を可能にする方法として例えば、利用シーンの選択をユーザに許可する選択メニューを設けて、最適な人物検出ロジックが実行されるようにしても良い。また図13を用いて後述するように、AIを用いた画像認識クラス(AI Analyze Class)内に複数のメソッド(利用シーン毎の最適な人物検出ロジック)を配置しておく。そしてAPIコマンドを利用して活用場面毎に最適なメソッドについて、選択的に呼び出し76を行う。 In this way, it is preferable to preset the optimum person detection logic for each different usage scene and select the optimum logic for each usage scene to enable flexible handling. As a method for enabling flexible handling according to this usage scene, for example, a selection menu may be provided that allows the user to select a usage scene, and optimal person detection logic may be executed. Also, as will be described later with reference to FIG. 13, a plurality of methods (optimal person detection logic for each usage scene) are arranged in an image recognition class (AI Analyze Class) using AI. Then, an API command is used to selectively call 76 the most appropriate method for each usage scene.

次に図2の通常カメラ画像認識部112で行われる“5〕画面内に判別された人毎の距離検出”に関して説明する。赤外線カメラ806では、黒体輻射する熱源(人の頭部)との距離が遠いと、実際の温度より低めに読み取られる傾向がある(これに関しても、図19を用いて後述する)。そのため“5〕距離検出”の結果を利用して、
α〕赤外線画像認識部116で得られた空間的な温度分布特性に対して、人物頭部温度判定部125での体温補正(温度補正)を行うか、あるいは
β〕赤外線カメラ806との距離が一定の距離より遠い人に対しては、判定温度より低い場合でも、検知時動作指示部(アプリケーション(IF-THEN)エンジン)90が注意を促す、指示を出すなどの処理が行える。
Next, description will be made regarding "5) Distance detection for each person discriminated in the screen" performed by the ordinary camera image recognition unit 112 in FIG. The infrared camera 806 tends to read the temperature lower than the actual temperature when the distance from the heat source (human head) emitting black body radiation is long (this will also be described later with reference to FIG. 19). Therefore, using the result of “5) Distance detection,
α] The spatial temperature distribution characteristic obtained by the infrared image recognition unit 116 is subjected to body temperature correction (temperature correction) by the human head temperature determination unit 125, or β) the distance from the infrared camera 806 is determined. For a person who is farther than a certain distance, even if the temperature is lower than the judgment temperature, the detection-time operation instructing unit (application (IF-THEN) engine) 90 can perform processing such as calling attention or issuing an instruction.

したがって“5〕距離検出”を利用すると体温検出精度が向上し、検知時動作指示部90からの指示精度が向上する効果が生まれる。 Therefore, when "5) distance detection" is used, the body temperature detection accuracy is improved, and the effect of improving the instruction accuracy from the detection operation instruction unit 90 is produced.

上記の“5〕距離検出”の方法として、複数の通常カメラ816から得られる個別画像を利用し、“三角法”(測量などで用いられ、三角形の辺と角の関係を利用して距離などを算出する手法)を用いて距離を算出してもよい。例えばスマートフォンやタブレットをエッジコンピュータ6に使用する場合、エッジコンピュータ6内に通常カメラ816が標準的に内蔵されている。したがって複数のエッジコンピュータ6から得られる個別画像を通信手段で共用すれば、“三角法”を用いて距離を算出できる。またそれに限らず、図20で後述する2個の可視光センサ46、48が内蔵された3眼赤外線カメラを使用すれば、これ単独でも“5〕距離検出”が可能となる。 As the method of "5) distance detection", individual images obtained from a plurality of normal cameras 816 are used, and "triangulation" (used in surveying, etc., uses the relationship between the sides and angles of a triangle to determine the distance, etc.). ) may be used to calculate the distance. For example, when a smart phone or tablet is used as the edge computer 6, the edge computer 6 usually has a built-in camera 816 as standard. Therefore, if individual images obtained from a plurality of edge computers 6 are shared by communication means, the distance can be calculated using "trigonometry". In addition, if a three-lens infrared camera with two built-in visible light sensors 46 and 48, which will be described later with reference to FIG.

あるいは図2の通常カメラ画像認識部112で解析された画像内からピンポイント的に最大温度位置や最小温度位置を推測し、これらを利用してもよい。すなわち通常カメラ画像認識部112で推定された最大/最小温度位置の情報と、赤外線画像認識部116で抽出された最大/最小温度位置の情報を利用し、“三角法”を用いて距離を算出してもよい。 Alternatively, the maximum temperature position and the minimum temperature position may be pinpointed from the image analyzed by the normal camera image recognition unit 112 in FIG. 2 and used. That is, using the information of the maximum/minimum temperature position estimated by the normal camera image recognition unit 112 and the information of the maximum/minimum temperature position extracted by the infrared image recognition unit 116, the distance is calculated using "trigonometry". You may

他の実施例として、GPS(Global Positioning System)やビーコンを用いた位置情報を利用してもよい。例えば通常カメラ画像認識部112での画像認識の結果、検出された人物個々の識別(同定)が可能な場合を考える。その場合には識別(同定)された人物が所有している携帯端末(スマートフォン)と通信を行い、相手の位置情報を収集できる。 As another example, location information using GPS (Global Positioning System) or beacons may be used. For example, as a result of image recognition by the normal camera image recognition unit 112, it is possible to identify (identify) each detected person. In that case, it is possible to communicate with a mobile terminal (smartphone) owned by the identified (identified) person and collect the position information of the other person.

検知時動作設定部140は、体温が所定値を超えた高熱者の存在を通知する各種の通知手段の制御方法を設定する機能を有する。この具体的な通知手段として、警報音の発生1240や音声案内1280、画面表示1230、メール送信1250、機器動作1290(1270)などの選択肢が存在する。これらの中で自動通知時に使用される選択肢(同時複数選択も可能)は、検知時動作指示部(アプリケーション(IF-THEN)エンジン)90で予め規定されたアプリケーション(IF-THEN)ルール70(図7と図11を用いて後述)に従って指定される。そしてこのアプリケーション(IF-THEN)ルール70に従って指定された通知手段(選択肢)に対して必要な情報が、検知時動作指示部(アプリケーション(IF-THEN)エンジン)90から通信(送信)される。 The detection operation setting unit 140 has a function of setting a control method for various notification means for notifying the presence of a hyperthermia person whose body temperature exceeds a predetermined value. As a specific notification means, there are options such as generation of alarm sound 1240, voice guidance 1280, screen display 1230, mail transmission 1250, and device operation 1290 (1270). Among these, the options used at the time of automatic notification (simultaneous multiple selection is also possible) are the application (IF-THEN) rules 70 (Fig. 7 and FIG. 11). Necessary information for notification means (options) specified according to the application (IF-THEN) rule 70 is communicated (transmitted) from a detection operation instruction unit (application (IF-THEN) engine) 90 .

本システムのアプリケーション100には検知情報送信部150の機能が内蔵されている。本システムのアプリケーション100の実行に関する管理・監視・設定を行うクラウドサーバ2へ向けた必要な情報が適宜、検知情報送信部(の機能)150から送信される。 The application 100 of this system incorporates the function of the detection information transmission unit 150 . Necessary information directed to the cloud server 2 that manages, monitors, and sets the execution of the application 100 of this system is sent from (the function of) the detection information sending unit 150 as appropriate.

検知ルール設定部(の機能)140で使用されるアプリケーション(IF-THEN)ルール70は、クラウドサーバ2から設定されてもよい。この場合にはアプリケーション(IF-THEN)ルール70の実行状況を複数個所で監視する必要があるため、クラウドサーバ2が必要となる。 The application (IF-THEN) rule 70 used in (the function of) the detection rule setting unit 140 may be set from the cloud server 2 . In this case, the cloud server 2 is required because it is necessary to monitor the execution status of the application (IF-THEN) rule 70 at multiple locations.

またそれに限らず、本システムのアプリケーション100の表示画面からローカルに、アプリケーション(IF-THEN)ルール70を設定してもよい。その場合には、クラウドサーバ2が無くても本システムのアプリケーション100の実行が可能となる。 Alternatively, the application (IF-THEN) rule 70 may be set locally from the display screen of the application 100 of this system. In that case, the application 100 of this system can be executed without the cloud server 2 .

図5は、図2で示した基本システム内で実行される動作フローを示す。ここでは図2を参照しながら、図5で示した動作の流れを説明する。 FIG. 5 illustrates the operational flow performed within the basic system shown in FIG. Here, the flow of operations shown in FIG. 5 will be described with reference to FIG.

本システムのアプリケーション100の動作中は、図5に示す動作を繰り返す周期処理S01が続けられる。ステップ02(S02)では始めに、通常カメラ816(第2の光センサ)が撮像した画像信号(映像または静止画像)が、第2の信号として通常カメラ画像認識部112(第2の画像認識部)に送信される。するとこの通常カメラ画像認識部112で“1〕画像認識”が行われ、“4〕頭部検出”の結果を利用した“3〕人数検出”と“頭部位置算出(4〕頭部検出の一部)”、“5〕距離検出”が実行される(ここまでS02となる)。ここで“3〕人数検出”の結果として人物の人数が1以上で無い(すなわち通常カメラ816で得られた画像内に人物が含まれて無い)場合(S03のNo)には、ステップ04(S04)の処理終了に進む。 During the operation of the application 100 of this system, the periodic processing S01 that repeats the operation shown in FIG. 5 continues. In step 02 (S02), first, the image signal (video or still image) picked up by the normal camera 816 (second optical sensor) is transferred to the normal camera image recognition unit 112 (second image recognition unit) as a second signal. ). Then, the ordinary camera image recognition unit 112 performs "1) image recognition", and "3) number detection" and "head position calculation (4) head detection" using the result of "4) head detection". Part)” and “5) Distance detection” are executed (up to this point, S02). Here, if the number of persons is not 1 or more as a result of "3) detection of the number of people" (that is, no persons are included in the image obtained by the normal camera 816) (No in S03), step 04 ( The process proceeds to the end of the process in S04).

一方で人物の人数が1以上の(通常カメラ816で得られた画像内に人物が含まれた)場合(S03のYes)には、人物頭部温度判定部(人物の体温判定部)125で人数分に相当する個々人頭部位置での温度情報を取得する(S05)。これに先立ち赤外線画像認識部116(第1の画像認識部)では、赤外線カメラ860(赤外光に感度を有する第1の光センサ)から得られた温度特性信号(第1の信号)を利用して画面内の空間的温度分布特性を算出しておく。人物頭部温度判定部(人物の体温判定部)125ではこの画面内の空間的温度分布特性上に、通常カメラ画像認識部112(第2の画像認識部)から得られた個々人の頭部位置情報を重ねて、個々人の頭部温度(体温)を取得する。 On the other hand, if the number of persons is 1 or more (a person is included in the image obtained by the normal camera 816) (Yes in S03), the person's head temperature determination unit (person's body temperature determination unit) 125 Temperature information is obtained at the head positions of each person corresponding to the number of persons (S05). Prior to this, the infrared image recognition unit 116 (first image recognition unit) uses the temperature characteristic signal (first signal) obtained from the infrared camera 860 (first optical sensor sensitive to infrared light). Then, the spatial temperature distribution characteristics within the screen are calculated. A person's head temperature determination unit (person's body temperature determination unit) 125 calculates the individual head position obtained from the normal camera image recognition unit 112 (second image recognition unit) on the spatial temperature distribution characteristics in the screen. The information is superimposed to obtain the head temperature (body temperature) of each individual.

次にステップ06(S06)に示すように、人物頭部温度判定部(人物の体温判定部)125内部で個々人の頭部温度(体温)毎に所定値(例えば摂氏37.5度)を超えるか否かの“設定温度判定”を行う。この設定温度判定の結果として体温が所定値を超えた人がいない場合には、ステップ07(S07)の処理終了に進む。 Next, as shown in step 06 (S06), inside the human head temperature determination unit (human body temperature determination unit) 125, the head temperature (body temperature) of each individual exceeds a predetermined value (for example, 37.5 degrees Celsius). "Set temperature determination" is performed to determine whether or not As a result of this set temperature determination, if there is no person whose body temperature exceeds the predetermined value, the process proceeds to step 07 (S07) to end the process.

図5の実施例では“設定温度判定”の判定値(所定値)として、“警報値”(例えば摂氏37.5度)と“注意値”(例えば摂氏37度)の2種類を設定する。ここで“警報値”の値は、“注意値”よりも高い値に設定する。 In the embodiment of FIG. 5, two types of "alarm value" (for example, 37.5 degrees Celsius) and "caution value" (for example, 37 degrees Celsius) are set as judgment values (predetermined values) for "setting temperature judgment". Here, the "warning value" is set to a value higher than the "caution value".

ステップ06(S06)での判定結果が“警報値”以上の場合には、ステップ10(S10)に示す通知処理として警報を通知する。この具体的通知方法は、検知時動作指示部(アプリケーション(IF-THEN)エンジン)90で設定されたアプリケーション(IF-THEN)ルール70の規定に従い、検知時動作設定部140で“警報通知”に適した選択肢1240~1290を選択する。 If the determination result in step 06 (S06) is equal to or greater than the "alarm value", an alarm is notified as notification processing shown in step 10 (S10). This specific notification method is based on the application (IF-THEN) rule 70 set by the detection operation instruction unit (application (IF-THEN) engine) 90, and the detection operation setting unit 140 sets “alarm notification”. Select the appropriate option 1240-1290.

一方でステップ06(S06)での判定結果が“警報値”以下で“注意値”以上の場合には、前述した“5〕距離検出”の結果を加味して判定する。“5〕距離検出”結果の利用方法例として、
『β〕赤外線カメラ806との距離が一定の距離(設定値)より遠い人に対しては、判定温度より低い場合でも、検知時動作指示部(アプリケーション(IF-THEN)エンジン)90が注意を促す指示を出す』説明をした。
On the other hand, if the determination result in step 06 (S06) is equal to or less than the "alarm value" and equal to or more than the "caution value", the result of "5) distance detection" is taken into account in the determination. As an example of how to use the result of “5) Distance detection,
[β] For a person whose distance from the infrared camera 806 is longer than a certain distance (set value), even if the temperature is lower than the judgment temperature, the detection operation instruction unit (application (IF-THEN) engine) 90 warns the person. I will issue an instruction to urge you.”

赤外線カメラ806と測定対象者間の距離が広がると、測定結果(体温)が実際より低温となる(詳細は図19を用いて後述)。従ってステップ08(S08)が示すように、測定対象者の頭部位置と赤外線カメラ806との間の距離が予め定めた設定値より遠いか否かの判定を行う。もしもこの距離が設定値より近い(S08のNo)場合には、『測定対象者体温の測定値精度が高い』と見なす。この場合には『高熱者は居ない』と判断され、処理終了(S09)となる。 As the distance between the infrared camera 806 and the person to be measured increases, the measured result (body temperature) becomes lower than the actual temperature (details will be described later with reference to FIG. 19). Therefore, as shown in step 08 (S08), it is determined whether or not the distance between the head position of the person to be measured and the infrared camera 806 is greater than a predetermined set value. If this distance is closer than the set value (No in S08), it is considered that 'the accuracy of the measured body temperature of the person to be measured is high'. In this case, it is judged that "there is no person with a high fever", and the process ends (S09).

一方で対応距離が設定値より遠い(S08のYes)場合には、『測定対象者体温の測定値精度が低い』と見なす。つまり『本来は測定対象者が高熱者で体温が“警報値”(摂氏37.5度)を超えているにも関わらず、サーモグラフィの測定精度が悪いため正しい体温が測定できなかった』と推定する。そしてステップ11(S11)に示すように、“注意”の通知処理を行う。 On the other hand, when the corresponding distance is farther than the set value (Yes in S08), it is considered that "the measured value accuracy of the body temperature of the person to be measured is low". In other words, it is presumed that 'even though the subject of measurement is a person with a high fever and his body temperature exceeds the "alert value" (37.5 degrees Celsius), the correct body temperature could not be measured due to the poor measurement accuracy of the thermography.' do. Then, as shown in step 11 (S11), "caution" notification processing is performed.

この場合も、検知時動作指示部(アプリケーション(IF-THEN)エンジン)90で設定されたアプリケーション(IF-THEN)ルール70の規定に従い、検知時動作設定部140が“注意通知”に適した選択肢1240~1290を操作する。 In this case as well, according to the application (IF-THEN) rule 70 set by the detection operation instruction unit (application (IF-THEN) engine) 90, the detection operation setting unit 140 selects an option suitable for “notification”. Operate 1240-1290.

図6は、高熱者検出装置に対応した図2のエッジコンピュータ6あるいはそれを含む高熱者検出システムの利用場面例(ユースケース)を示す。図6に示す高熱者検出システムでは、図20で後述する構造を持った3眼赤外線カメラ806とスマートフォンなどのエッジコンピュータ6(高熱者検出装置)から構成される。そして両者は、接続部10を介して接続されている。 FIG. 6 shows a usage example (use case) of the edge computer 6 of FIG. 2 corresponding to the high fever detection device or the high fever detection system including it. The high-temperature person detection system shown in FIG. 6 is composed of a three-lens infrared camera 806 having a structure described later in FIG. 20 and an edge computer 6 (high-temperature person detection device) such as a smartphone. Both are connected via the connection section 10 .

ここで、(電車などの)車両に乗車中や(食堂など)人が集まる場所で、スマートフォンを操作する人が多い。図6の上部では、車両内や人が集まる場所内で近くに人の集団が居た状況を示している。スマートフォン(エッジコンピュータ6)で他のアプリケーションプログラム22を使用している状況を、図6の下部が示している。近くの集団の中に高熱者が居た場合には、その検出結果が表示画面12上に画面表示1230される。 Here, many people operate smartphones while riding in a vehicle (such as a train) or in a place where people gather (such as a restaurant). The upper part of FIG. 6 shows a situation in which a group of people are nearby in a vehicle or in a place where people gather. The lower part of FIG. 6 shows a situation in which another application program 22 is used on the smart phone (edge computer 6). If there is a high fever person in the nearby group, the detection result is displayed on the display screen 12 (1230).

検知時動作設定部140が制御する警告画面表示1230の例として、検出された高熱者が斜線で明記されている。またそれと同時に、
『警告
近くに高熱者が居ます!!
御注意下さい!』
の警告文も表示されている。
As an example of the warning screen display 1230 controlled by the detection operation setting unit 140, the detected high fever person is indicated by diagonal lines. At the same time,
"Warning There is a person with a high fever nearby! !
Please be careful! 』
is also displayed.

図6に示す方法では他のアプリケーションプログラム22使用時にユーザに自動通知されるため、通知の即時性とユーザへの利便性が大幅に向上する。 In the method shown in FIG. 6, the user is automatically notified when another application program 22 is used, so that the immediacy of the notification and the user's convenience are greatly improved.

なお図6に示した高熱者検出システムの利用場面例(ユースケース)では、エッジコンピュータ6の表示画面12上に警告画面表示1230を行っている。それに限らず例えば、図17で後述するHMD(Head Mounted Display)810上に警告画面表示1230を行ってもよい。 Note that in the example of use scene (use case) of the high fever person detection system shown in FIG. Not limited to this, for example, a warning screen display 1230 may be displayed on an HMD (Head Mounted Display) 810, which will be described later with reference to FIG.

図7を用いて、本実施形態の他の実施例を説明する。図7に示すシステム構成では、クラウドサーバ2とエッジコンピュータ6とが、互いに通信可能18な構成となっている。またこのエッジコンピュータ6は、センサ802やサイネージ(電子掲示板)804、赤外線カメラ806、スマートフォンやタブレットなどの携帯端末808、HMD(Head Mounted Display)810、IoT機器(ゲート等)820などの各種デバイス8を制御して、ユーザに各種サービスを提供できる。これら各種デバイスが例えば温度センサ、圧力センサ、ジャイロや通常カメラ816などの各種センサの場合は、このエッジコンピュータ6に内蔵されてもよい。それに限らず、これら各種デバイスの一部はこのエッジコンピュータ6の外に配置され、通信で制御されてもよい。 Another example of this embodiment will be described with reference to FIG. In the system configuration shown in FIG. 7, the cloud server 2 and the edge computer 6 are configured to be communicable 18 with each other. The edge computer 6 also includes various devices 8 such as a sensor 802, a signage (electronic bulletin board) 804, an infrared camera 806, a mobile terminal 808 such as a smartphone or a tablet, an HMD (Head Mounted Display) 810, and an IoT device (such as a gate) 820. can be controlled to provide various services to users. If these various devices are sensors such as a temperature sensor, a pressure sensor, a gyro, or a normal camera 816, they may be incorporated in the edge computer 6. FIG. Not limited to that, some of these various devices may be arranged outside the edge computer 6 and controlled by communication.

このエッジコンピュータ6の内部はアプリケーション(IF-THEN)エンジン90を持ち、予め記録された(クラウドサーバ2から事前にインストールされた)アプリケーション(IF-THEN)ルール70に応じた処理を行って(各種デバイス8を制御して)、ユーザにサービスを提供する。 The edge computer 6 has an application (IF-THEN) engine 90 inside, and performs processing (various device 8) to provide services to the user.

また図7に示すように、センサ802やサイネージ(電子掲示板)804、赤外線カメラ806、スマートフォンやタブレットなどの携帯端末808、HMD(head mounted display)810、IoT機器(ゲート等)820などの各種デバイス8を個々に制御するマイクロサービス80A~80Fが、エッジコンピュータ6に予め組み込まれて(クラウドサーバ2から事前にインストールされて)いる。そしてこれらのマイクロサービス80A~80Fをアプリケーション(IF-THEN)エンジン90が操作して、各種デバイス8間の連携制御を行う。この時には、アプリケーション(IF-THEN)エンジン90から操作したいマイクロサービス80A~80Fに対してAPI(application program interface)コマンドが発行される。 Further, as shown in FIG. 7, various devices such as a sensor 802, a signage (electronic bulletin board) 804, an infrared camera 806, a mobile terminal 808 such as a smartphone or a tablet, an HMD (head mounted display) 810, and an IoT device (gate, etc.) 820 8 are pre-installed in the edge computer 6 (pre-installed from the cloud server 2). An application (IF-THEN) engine 90 operates these microservices 80A to 80F to perform cooperation control among various devices 8. FIG. At this time, an API (application program interface) command is issued from the application (IF-THEN) engine 90 to the microservices 80A to 80F to be operated.

またそれに限らず本実施形態では、IoTサービスサーバ220と連携制御するIoTサーバマイクロサービス80Gやメールサーバ230と連携するメーラーマイクロサービス80H、Webサービスサーバ210に対してアクセスしてWebサービスを得るためのWebマイクロサービス80Iなどを所有(エッジコンピュータ6に予めインストール)してもよい。 このWebマイクロサービス80Iの具体的制御例として、HTML(Hyper Text Mark-Up Language)内に指定されたフォーム要素(Form Element)の枠内に必要な情報を自動で書き込む制御やWebページ間の遷移制御などを行ってもよい。このようにエッジコンピュータ6のソフトウェアアーキテクチャ内にWebマイクロサービス80Iの領域を設置することで、Webサービスのような高度なサービスをユーザが享受できる。図7に示したIoTサーバマイクロサービス80Gやメーラーマイクロサービス80Hに限らず、図示してないサイバ空間上で利用可能なあらゆるサービスに個々にアクセスできるマイクロサービス80を、Webマイクロサービス80Iと同列に配置してもよい。図7には図示してないサイバ空間上のサービス例として、証券(特定銘柄の株)の自動売買や特定商品の発注と受け取った商品代金の自動振り込み(課金処理)、映画や音楽の鑑賞券の購入申し込みや所定旅行などの予約申し込みなどのユーザサービスを行ってもよい。 In this embodiment, the IoT server microservice 80G that cooperates with and controls the IoT service server 220, the mailer microservice 80H that cooperates with the mail server 230, and the Web service server 210 for obtaining Web services. The web microservice 80I or the like may be owned (pre-installed in the edge computer 6). As a specific control example of this Web microservice 80I, the control of automatically writing necessary information in the frame of a form element (Form Element) specified in HTML (Hyper Text Mark-Up Language) and the transition between Web pages. You may perform control etc. By setting the area of the web microservice 80I in the software architecture of the edge computer 6 in this way, users can enjoy advanced services such as web services. Not limited to the IoT server microservice 80G and the mailer microservice 80H shown in FIG. 7, the microservices 80 that can individually access all services available in the cyber space (not shown) are placed in parallel with the Web microservices 80I. You may Examples of services in the cyberspace not shown in FIG. 7 include automatic trading of securities (stocks of a specific brand), ordering of specific products and automatic transfer of received product prices (billing processing), movie and music appreciation tickets. User services such as a purchase application for a mobile phone or a reservation application for a predetermined trip may be provided.

このようにサイバ空間上の各サービスに個々にアクセスできるマイクロサービス80をエッジコンピュータ6のソフトウェアアーキテクチャ内に配置(予めインストール)可能にすると、サイバ空間上の異なるサービス間をつなげた連携サービスをユーザが享受できる。 In this way, if the microservices 80 that can individually access each service on the cyberspace can be arranged (installed in advance) within the software architecture of the edge computer 6, the user can create a cooperative service that connects different services on the cyberspace. can enjoy

ところで従来は実空間内に存在する各種デバイス8を利用したサービスと上記サイバ空間上のサービス間の連携は、比較的希薄だった。図7のように各種デバイス8を制御するマイクロサービス80A~80Fを、上記Webマイクロサービス80Iと同列に配置可能にすることで、各種デバイス8を利用した実空間上あるいは物理空間上のサービスと上記サイバ空間上のサービスをシームレスに違和感なく跨った高度な連携サービスをユーザが享受可能となる。 By the way, conventionally, cooperation between services using various devices 8 existing in the real space and services in the cyber space was relatively weak. As shown in FIG. 7, microservices 80A to 80F that control various devices 8 can be arranged in the same line as the Web microservice 80I. Users will be able to enjoy advanced cooperative services that seamlessly span services in cyber space without any sense of incongruity.

過去にアナログデータとして扱われていた映像や音声をデジタルデータで扱う技術が生まれた時に、“あらゆる媒体(メディア)がデジタルで統合的に扱える”機能を示す『マルチメディア』と言う言葉が流行となった。そして現在では、このようなデジタル世界が当然の世界となっている。 When technology was born to handle video and audio, which had been handled as analog data in the past, as digital data, the word "multimedia", which refers to the ability to handle all types of media in a digital and integrated manner, became popular. became. And today, such a digital world has become a natural world.

実空間内に存在する物体(object and/or instance)やその状態(state)の検出や操作を担う各種デバイス8を個々に制御する専用の制御ソフト(マイクロサービス80)を本実施例で新規に定義する事で、実空間内/物理空間内で提供できるサービスとサイバ空間上で提供できるサービスを組み合わせた(混在させた)より高度なサービスの提供が可能となる『マルチサービス』の世界が構築できる。そしてユーザに高度なサービスを提供するための“各種サービス間の組み合わせ方法”が、アプリケーション(IF-THEN)ルール70で規定される。 Dedicated control software (microservice 80) that individually controls various devices 8 responsible for detecting and manipulating objects and/or instances existing in real space and their states is newly provided in this embodiment. By defining it, we will build a "multi-service" world that will enable the provision of more advanced services that combine (mix) services that can be provided in real space/physical space with services that can be provided in cyberspace. can. Application (IF-THEN) rules 70 stipulate "methods of combining various services" for providing advanced services to users.

この図7と前述した図2の関係を説明する。図2の通常カメラ816はセンサ802の一種に対応し、図2と図7の赤外線カメラ806は同一デバイス8を意味する。従って図2の通常カメラ画像認識部112は、センサマイクロサービス80Aに対応する。そして図2の赤外線認識部116と人物頭部温度判定部125が、赤外線カメラマイクロサービス80Cに対応する。図2では通常カメラ画像認識部112で行われた画像認識の結果が人物頭部温度判定部125に転送されている。図7ではアプリケーション(IF-THEN)エンジン90を経由して、センサマイクロサービス80Aと赤外線カメラマイクロサービス80C間の情報交換が行われる。 The relationship between FIG. 7 and FIG. 2 described above will be described. The normal camera 816 in FIG. 2 corresponds to one type of the sensor 802, and the infrared camera 806 in FIGS. 2 and 7 means the same device 8. Therefore, the normal camera image recognition unit 112 in FIG. 2 corresponds to the sensor microservice 80A. 2 correspond to the infrared camera microservice 80C. In FIG. 2 , the result of image recognition performed by the normal camera image recognition unit 112 is transferred to the human head temperature determination unit 125 . In FIG. 7, information is exchanged between the sensor microservice 80A and the infrared camera microservice 80C via the application (IF-THEN) engine 90. FIG.

また検知ルール設定部130の検知時動作指示部(アプリケーション(IF-THEN)エンジン)90が、図7に示したアプリケーション(IF-THEN)エンジン90に相当する。 A detection operation instruction unit (application (IF-THEN) engine) 90 of the detection rule setting unit 130 corresponds to the application (IF-THEN) engine 90 shown in FIG.

一方で図2のメール送信1250を制御する検知時動作設定部140の機能が、メーラーマイクロサービス80Hで処理される。またHMD810の表示部上に画面表示1230を行う場合には、画面表示1230を制御する検知時動作設定部140の機能が、HMDマイクロサービス80Eで処理される。 On the other hand, the function of the detection operation setting unit 140 that controls the mail transmission 1250 in FIG. 2 is processed by the mailer microservice 80H. When the screen display 1230 is performed on the display unit of the HMD 810, the function of the detection operation setting unit 140 for controlling the screen display 1230 is processed by the HMD microservice 80E.

そして例えば“検出された高熱者の通行を制限するための通過ゲート遮断”などの機器動作1290(1270)をする場合には、対応する検知時動作設定部140の機能が、個別機器マイクロサービス80Fで処理される。 Then, for example, when performing a device operation 1290 (1270) such as "blocking the passage gate for restricting the passage of a person with a high fever detected", the function of the corresponding detection operation setting unit 140 is set to the individual device microservice 80F processed by

個々のエッジコンピュータ6が使用するアプリケーション(IF-THEN)ルール70や各種デバイス8に関し、クラウドサーバ2が実行する機能としてルール設定・配信部(の機能)202やデバイス管理部(の機能)206を持つ。それに限らず、クラウドサーバ2がマイクロサービス登録部(の機能あるいはモジュール)204([モジュール]に関する用語定義は後述する)としての機能を持っていてもよい。 Regarding the application (IF-THEN) rules 70 and various devices 8 used by the individual edge computers 6, the functions executed by the cloud server 2 include a rule setting/distribution unit (function) 202 and a device management unit (function) 206. have However, the cloud server 2 may have a function as (a function of or a module of) a microservice registration unit 204 (the terminology definition regarding [module] will be described later).

エッジコンピュータ6がアプリケーション(IF-THEN)ルール70に従ってユーザにサービス提供する時に得られる各種データは、クラウドサーバ2でデータ管理/蓄積208され、データ/情報記憶装置200に適宜保存される。 Various data obtained when the edge computer 6 provides services to the user according to the application (IF-THEN) rules 70 are managed/accumulated 208 in the cloud server 2 and stored in the data/information storage device 200 as appropriate.

図8は、アンドロイド(登録商標)ベースのスマートフォンで使用されるプログラム構成例を示す。ifLink(登録商標)ウィジェット(widget)1100で、ifLinkの状態を表示する。 FIG. 8 shows an example program configuration used in an Android (registered trademark)-based smart phone. The ifLink™ widget 1100 displays the state of the ifLink.

Java(登録商標)言語で記述されたマイクロサービス80A~80Fが、ifLinkアプリ1000の下位領域に設置されている。このifLinkアプリ1000の一部として、アプリケーション(IF-THEN)エンジン90が動作する。他にアプリケーション(IF-THEN)ルール70も、このifLinkアプリ1000の中で使用される。すなわちこのifLinkアプリ1000が、ifLinkにつながるマイクロサービス80A~80Fやアプリケーション(IF-THEN)ルール70の管理をおこなう。 Microservices 80A to 80F written in the Java (registered trademark) language are installed in a lower area of the ifLink application 1000. FIG. As part of this ifLink application 1000, an application (IF-THEN) engine 90 operates. Application (IF-THEN) rules 70 are also used in this ifLink application 1000 . That is, the ifLink application 1000 manages the microservices 80A to 80F connected to the ifLink and the application (IF-THEN) rule 70. FIG.

図9を用いて、図7に示したエッジコンピュータ6の内部とクラウドサーバ2との関係について、詳細に説明する。エッジコンピュータ6には、サービス提供アプリケーションプログラムのifLinkアプリ92が事前にインストールされている。このifLinkアプリ92のソフトウェアアーキテクチャとして、アプリケーション(IF-THEN)エンジン部90、設定・管理画面構成部98およびデータ送信部96、ルール受信部94が構成要素として存在する。またエッジコンピュータ6には、例えばXML(Extensible Markup Language)形式で記述されたアプリケーション(IF-THEN)ルール70を保存するメモリ領域が存在する。そしてアプリケーション(IF-THEN)エンジン部90は、アプリケーション(IF-THEN)ルール70に従って対応するマイクロサービス80を操作する。 The relationship between the inside of the edge computer 6 shown in FIG. 7 and the cloud server 2 will be described in detail with reference to FIG. An ifLink application 92, which is a service providing application program, is installed in the edge computer 6 in advance. As a software architecture of the ifLink application 92, an application (IF-THEN) engine unit 90, a setting/management screen configuration unit 98, a data transmission unit 96, and a rule reception unit 94 exist as components. The edge computer 6 also has a memory area for storing application (IF-THEN) rules 70 described in XML (Extensible Markup Language) format, for example. The application (IF-THEN) engine unit 90 then operates the corresponding microservice 80 according to the application (IF-THEN) rules 70 .

ここではifLinkアプリ92を“ソフトウェアプログラム”として説明したがそれに限らず、“ハードウェア”でifLinkアプリ92を構成してもよい。この場合には、アプリケーション(IF-THEN)ルール70を保存するメモリ領域と、アプリケーション(IF-THEN)エンジン部90、設定・管理画面構成部98およびデータ送信部96、ルール受信部94がそれぞれ物理的に分離した電子回路で構成されてもよい。 Although the ifLink application 92 is described as a "software program" here, the ifLink application 92 may be configured by "hardware". In this case, the memory area for storing the application (IF-THEN) rule 70, the application (IF-THEN) engine unit 90, the setting/management screen configuration unit 98, the data transmission unit 96, and the rule reception unit 94 are physically arranged. It may be composed of physically separated electronic circuits.

クラウドサーバ2のソフトウェアアーキテクチャは図9が示すように、マイクロサービス登録部204とルール設定・配信部202、データ収集サービス部(DDS:Data Destination Service)216、エンドポイン管理部(EPM:End Point Manager)214、Web-API制御部218、データ/情報記憶装置200から構成される。 The software architecture of the cloud server 2 is, as shown in FIG. ) 214 , a Web-API control unit 218 , and a data/information storage device 200 .

そしてこのルール設定・配信部202で、ユーザ要求に合わせたアプリケーション(IF-THEN)ルール70の設定と、アプリケーション(IF-THEN)ルール70のユーザへの配信を管理する。 The rule setting/distribution unit 202 manages the setting of the application (IF-THEN) rule 70 according to the user's request and the distribution of the application (IF-THEN) rule 70 to the user.

ifLinkアプリで収集されたデータは、エッジコンピュータ60のデータ送信部96から通信経路18を経由して、クラウドサーバ2のデータ収集サービス部(DDS)216に転送される。そしてこのデータ収集サービス部(DDS)216で整理されたデータは逐次、データ/情報記憶装置200に保存される。 Data collected by the ifLink application is transferred from the data transmission unit 96 of the edge computer 60 to the data collection service unit (DDS) 216 of the cloud server 2 via the communication path 18 . The data organized by the data collection service unit (DDS) 216 is then sequentially stored in the data/information storage device 200 .

またユーザ要求に合わせて設定されたアプリケーション(IF-THEN)ルールもデータ/情報記憶装置200に保存される。そして必要なタイミングでアプリケーション(IF-THEN)ルール70がデータ/情報記憶装置200から読み出され、エンドポイント管理部(EPM)214から通信経路18を経由して、ifLinkアプリのルール受信部94に配信される。そしてこのルール受信部94が受信したアプリケーション(IF-THEN)ルール70は、(図示してないが)エッジコンピュータ6の記憶領域に保存される。また所定の機関で認証を受けて登録されたマイクロサービス80も、エンドポイント管理部(EPM)とルール受信部94を経由してエッジコンピュータ6にインストールされる。 Application (IF-THEN) rules set according to user requirements are also stored in the data/information storage device 200 . Then, the application (IF-THEN) rule 70 is read out from the data/information storage device 200 at the necessary timing, and sent from the endpoint management unit (EPM) 214 via the communication path 18 to the rule reception unit 94 of the ifLink application. It will be delivered. The application (IF-THEN) rule 70 received by the rule receiver 94 is stored in the storage area of the edge computer 6 (not shown). A microservice 80 that has been authenticated and registered by a predetermined organization is also installed in the edge computer 6 via the endpoint management unit (EPM) and the rule reception unit 94 .

一方でifLinkアプリから収集してデータ/情報記憶装置200に保存された各種データは、Web-APIを介して各種アプリケーションサービス1800の処理対象となる。このアプリケーションサービス1800の具体的サービス内容として、
〇ifLinkアプリから収集したデータの可視化1802
〇ifLinkアプリから収集したデータの管理1804
〇ifLinkアプリから収集したデータを用いたエッジコンピュータ6の状態と各種モジュール9の状態に関する状態監視と異常対応1806(モジュール9の説明は後述)
〇ifLinkアプリから収集したデータの分析1808
〇ifLinkアプリを用いたユーザへのサービス最適化1810およびモジュール9設定条件の最適化1810
〇データの分析1808の結果得られた情報を用いた情報サービス1812
などを行う。
On the other hand, various data collected from the ifLink application and stored in the data/information storage device 200 are processed by various application services 1800 via Web-API. As specific service contents of this application service 1800,
〇Visualization of data collected from the ifLink app 1802
〇 Management of data collected from the ifLink app 1804
〇 Status monitoring and abnormality handling 1806 regarding the status of the edge computer 6 and the status of various modules 9 using data collected from the ifLink application (description of module 9 will be described later)
〇 Analysis of data collected from the ifLink app 1808
Optimization 1810 of services for users using the ifLink application and optimization 1810 of module 9 setting conditions
o Information service 1812 using information obtained as a result of data analysis 1808
etc.

図10には、図7および図9で示したアプリケーション(IF-THEN)エンジン90に実装される機能を示す。具体的機能として、アクティベーション902とルール管理制御904、ルール実行制御906、センサデータ制御910、JOB制御912、ログ出力機能914、同一イベント無視時間の設定機能916、他のエッジコンピュータ6にまたがるIF-THEN機能918、ルール有効化・無効化機能920、実行時間制御機能922、中間データ保持オブジェクト機能924などがある。 FIG. 10 shows functions implemented in the application (IF-THEN) engine 90 shown in FIGS. Specific functions include activation 902, rule management control 904, rule execution control 906, sensor data control 910, JOB control 912, log output function 914, same event ignoring time setting function 916, IF across other edge computers 6 -THEN function 918, rule enable/disable function 920, execution time control function 922, intermediate data holding object function 924, and so on.

アクティベーション902では、アプリケーション(IF-THEN)エンジン90がifLinkアプリ92から起動された際に、ifLinkアプリ92との接続確立を行う。 Activation 902 establishes a connection with the ifLink application 92 when the application (IF-THEN) engine 90 is activated from the ifLink application 92 .

ルール管理制御904では、アプリケーション(IF-THEN)エンジン90起動時に予め保持しているアプリケーション(IF-THEN)ルール70を読み出し、内部状態を構築する。つまり、例えば実際のセンサ802からの検出出力あるいは命令の待ち状態(いくつかの選択肢を持つ準備状態)となる。 The rule management control 904 reads the pre-stored application (IF-THEN) rules 70 when the application (IF-THEN) engine 90 is started, and constructs the internal state. That is, for example, it is in a state of waiting for an actual detection output from the sensor 802 or an instruction (a state of preparation with several options).

ルール実行制御906では、ifLinkアプリ92から通知されたセンサデータ情報を元に、内部状態に基づいて条件に一致するアプリケーション(IF-THEN)ルール70を抽出する。つまり検出出力の内容(命令内容)に応じたルールが選択される。 Based on the sensor data information notified from the ifLink application 92, the rule execution control 906 extracts the application (IF-THEN) rule 70 that matches the conditions based on the internal state. That is, a rule is selected according to the content of the detection output (command content).

センサデータ制御910では、ifLinkアプリ92からのデバイス情報68を受信し、アプリケーション(IF-THEN)ルール70に対応した実行制御を起動する。 The sensor data control 910 receives the device information 68 from the ifLink application 92 and activates execution control corresponding to the application (IF-THEN) rule 70 .

JOB制御912では、必要なJOB情報をifLinkアプリ92へ通知する。 JOB control 912 notifies the ifLink application 92 of necessary JOB information.

ログ出力機能914では、ログレベル(ログ内容の重要度或は細かさ)に応じてログ(例えばサービス履歴)を出力する。 The log output function 914 outputs a log (for example, service history) according to the log level (importance or detail of log contents).

同一イベント無視時間の設定機能916とは、同様のセンサデータが入力されても、指定された時間の間は、発生を抑制する機能を意味する。 The same event ignoring time setting function 916 means a function of suppressing occurrence for a specified time even if similar sensor data is input.

他のエッジコンピュータ6にまたがるIF-THEN機能918では、JOBを別の特定のエッジコンピュータ6へ通知し、そこでJOBを実行させる。 The IF-THEN function 918 across other edge computers 6 notifies the JOB to another specific edge computer 6 and causes the JOB to be executed there.

ルール有効化・無効化機能920とは、アプリケーション(IF-THEN)ルール70で実行(THEN)78(図11を用いて後述)に指定されたルールのON/OFFを切り替える機能を意味する。 The rule enable/disable function 920 means a function for switching ON/OFF of a rule designated as an execution (THEN) 78 (described later with reference to FIG. 11) in the application (IF-THEN) rule 70 .

実行時間制御機能922とは、特定の実行(THEN)78タイミングをずらして、一定時間後に続きの実行(THEN)78(図11を用いて後述)ができる機能を意味する。 The execution time control function 922 means a function that can shift the timing of a specific execution (THEN) 78 and perform subsequent execution (THEN) 78 (described later using FIG. 11) after a certain period of time.

中間データ保持オブジェクト機能924とは、処理途中で発生する中間データを記憶装置に保持し、別のルールの条件(IF)72(図11を用いて後述)への入力を可能とする機能を意味する。 The intermediate data holding object function 924 means a function that holds intermediate data generated during processing in a storage device and enables input to a condition (IF) 72 (described later using FIG. 11) of another rule. do.

図11は、本実施形態における応用例概念を表現するブロック図である。本実施形態が提案する『マルチサービス』の世界では例えば、物理的現実世界で生じる実体や状態(あるいはそれらに関連する情報)7の変化検出結果とサイバ空間上のサービス(Webサービス210)が直接連携して、ユーザへのサービス提供が可能となる。 FIG. 11 is a block diagram expressing the concept of an application example in this embodiment. In the world of "multi-services" proposed by this embodiment, for example, change detection results of entities and states occurring in the physical real world (or information related to them) 7 and services in cyber space (Web services 210) are directly By cooperating, it is possible to provide services to users.

つまり、図7では、デバイス8以外を活用したユーザへのサービス形態として、Webサービスサーバ210とメールサーバ230を明示的に示した。それに対してここでは、物理的な実空間内でユーザにサービスを提供する手段としての各種デバイス8(図7の802-820に相当)と、サイバ空間上でユーザにサービスを提供する手段(例えばWebサービスサーバ210が提供するWeb画面など)を総称して、“人間が認識可能な実体または状態、情報(instance, status, and/or information)7(7A-7Fに相当)”と呼ぶ。また、前述したデバイス8は、“人間が認識可能な実体/状態/情報7”の一種に該当する。またこれらを個々に制御する汎用的手段を“制御手段4(4A-4F)”と定義する。 In other words, in FIG. 7, the web service server 210 and the mail server 230 are explicitly shown as a form of service to users using devices other than the device 8 . On the other hand, here, various devices 8 (equivalent to 802-820 in FIG. 7) as means for providing services to users in physical real space and means for providing services to users in cyber space (for example, Web screens provided by the Web service server 210) are collectively referred to as "human recognizable entities, status, and/or information (instance, status, and/or information) 7 (corresponding to 7A-7F)". In addition, the device 8 described above corresponds to one type of "human recognizable entity/state/information 7". General-purpose means for controlling these individually is defined as "control means 4 (4A-4F)".

先にも述べたように、デバイス8以外を活用したユーザへのサービス形態として図7では、Webサービスサーバ210とメールサーバ230を明示的に示した。それに対してここでは、“人間が認識可能な実体または状態、情報(instance, status, and/or information)7(7A-7F)”を新しく提唱した。前述したデバイス8は、“人間が認識可能な実体/状態/情報7”の一種に該当する。またこれらを個々に制御する汎用的手段を“制御手段4(4A-4F)”と定義した。 As described above, FIG. 7 explicitly shows the web service server 210 and the mail server 230 as a form of service for users using devices other than the device 8 . On the other hand, here, "human recognizable entity or state, information (instance, status, and/or information) 7 (7A-7F)" is newly proposed. The aforementioned device 8 corresponds to one type of "human recognizable entity/state/information 7". General-purpose means for controlling these individually is defined as "control means 4 (4A-4F)".

例えばAI(Artificial Intelligence)プログラムを利用してWeb画面を制御(HTML内指定のフォーム要素の枠内に必要情報を自動で書き込む制御やWebページ間の遷移制御など)する例や、Web画面を利用した発注処理や契約処理、申し込み処理を行う例を考える。この場合には、Web画面の情報(具体例として発注処理時や契約処理時、申し込み処理時に書き込むべきWeb画面上の“書式”)が“人間が認識可能な実体または状態、情報7”の一種に該当し、その情報を制御する(具体例としてWeb画面上の“書式”の必要項目に自動的に必要事項を記入し、ユーザの確認後にWeb画面上の“実行”ボタンを押す処理などを行う)AIプログラムが制御手段4に該当する。 For example, using an AI (Artificial Intelligence) program to control a web screen (control to automatically write necessary information in the frame of form elements specified in HTML, control transitions between web pages, etc.), or use a web screen Consider an example of order processing, contract processing, and application processing. In this case, the information on the web screen (for example, the “format” on the web screen to be written at the time of order processing, contract processing, application processing) is a kind of “human recognizable entity or state, information 7” and controls the information (as a specific example, the process of automatically filling in the necessary items in the “form” on the web screen and pressing the “execute” button on the web screen after confirmation by the user, etc.) perform) corresponds to the control means 4 .

他の例としてセンサ802を利用して収集したビッグデータがデータ/情報記憶装置200に保存された後、統計解析ソフトを利用してデータ解析した場合を考える。この場合のセンサ802単体は、デバイス8に分類されるので“人間が認識可能な実体/状態/情報7”の一種に該当する。そしてこのセンサ802の動作を制御するセンサマイクロサービス80Aが、制御手段(マイクロサービス)4の一種になる。 As another example, consider a case where big data collected using the sensor 802 is stored in the data/information storage device 200 and then analyzed using statistical analysis software. In this case, the single sensor 802 is classified as the device 8, and therefore corresponds to one type of "human recognizable entity/state/information 7". A sensor microservice 80A that controls the operation of the sensor 802 is a kind of control means (microservice) 4. FIG.

またさらにビッグデータ保存に利用されるデータ/情報記憶装置200は、デバイス8に分類されるので“人間が認識可能な実体/状態/情報7”の一種に該当する。そしてこのデータ/情報記憶装置200に保存されたビッグデータやデータ解析後に得られた情報も、“人間が認識可能な実体/状態/情報7”の一種に分類できる。それに比べて統計解析ソフトが行うデータ解析処理は、広義の“データ制御”に当てはまる。従ってこの統計解析ソフトは、制御手段(マイクロサービス)4の一種に該当する。 Further, the data/information storage device 200 used for storing big data is classified as a device 8, and therefore corresponds to one type of "human recognizable entity/state/information 7". The big data stored in the data/information storage device 200 and the information obtained after data analysis can also be classified as one type of "human recognizable entity/state/information 7". In comparison, data analysis processing performed by statistical analysis software falls under the broad definition of "data control." Therefore, this statistical analysis software corresponds to one type of control means (microservice) 4 .

ここで図11に示す制御手段4の機能実現形態として、ハード構成(例えば論理回路の組み合わせ)で実現してもソフトプログラムで実現しても良い。例えばオブジェクト指向のプログラミング言語を用いたプログラム形態を取る制御手段4を特に、マイクロサービス80と呼ぶ。ここで、オブジェクト指向でないプログラミング言語(例えばアセンブラなど)で作成されるマイクロサービスでもよいことは勿論である。 Here, as a function implementation mode of the control means 4 shown in FIG. 11, it may be implemented by a hardware configuration (for example, a combination of logic circuits) or by a software program. For example, the control means 4 that takes the form of a program using an object-oriented programming language is called a microservice 80 . Of course, microservices created in a non-object-oriented programming language (for example, assembler) may also be used.

デバイス8とサイバ空間上サービス提供手段を総称して(一般化して)“認識可能な実体/状態/情報7”と名付け、マイクロサービス80を含む一般化された総称名を“制御手段4”と呼び、ユーザに対するあらゆるサービス形態に対して今後は汎用的に説明する。 The device 8 and the cyberspace service providing means are collectively (generalized) named "recognizable entity/state/information 7", and the generalized generic name including the microservice 80 is named "control means 4". Calls and all forms of service to users will be described generically hereinafter.

例えばセンサ802単体を“制御手段4”が制御して初めて、センシング機能が実現できる。このようにユーザに提供するサービスに関係して所定機能の実現手段を、“モジュール9(9A-9F)”と呼ぶ。モジュール9は基本的に、“認識可能な実体/状態/情報7”と“制御手段4”から構成される。
このモジュール9の設置形態として、モジュールγ9C全体がエッジコンピュータ6に内蔵されてもよい。それに限らずモジュール9D、9Eの認識可能な実体/状態/情報7D、7Eのみがエッジコンピュータ6の外部に配置されても良い。この場合にはエッジコンピュータ6に配置された(事前にインストールされた)制御手段(マイクロサービス)4D、4Eと認識可能な実体/状態/情報7D、7E間が通信手段18で信号的に接続されている。
For example, the sensing function can be realized only after the "control means 4" controls the sensor 802 alone. A means for realizing a predetermined function related to the service provided to the user is called "module 9 (9A-9F)". The module 9 basically consists of "recognizable entity/state/information 7" and "control means 4".
As an installation form of this module 9, the entire module γ9C may be built in the edge computer 6. FIG. Alternatively, only the recognizable entities/states/information 7D, 7E of the modules 9D, 9E may be arranged outside the edge computer 6. FIG. In this case, the control means (microservices) 4D, 4E arranged (pre-installed) in the edge computer 6 and the recognizable entities/status/information 7D, 7E are signal-connected by the communication means 18. ing.

またエッジコンピュータ6に限らず、クラウドサーバα2Aに制御手段(マイクロサービス)4A、4Bが存在してもよい。 Further, the control means (microservices) 4A and 4B may be present not only in the edge computer 6 but also in the cloud server α2A.

ユーザに所定サービスを提供するために行われるモジュールγ9Cとモジュールδ9D間の連携方法を規定するアプリケーションルールβ70Bは基本的に、条件(IF)β72Bから実行(THEN)β78Bへ向けて時間的推移する基本ロジックで構成される。 An application rule β70B that defines the method of cooperation between the module γ9C and the module δ9D that is performed to provide a predetermined service to the user is basically a basic transition over time from condition (IF) β72B to execution (THEN) β78B. Consists of logic.

「暗くなったら照明を点灯させる」ロジック例(アプリケーションルールβ70B)を用いて、この“条件(IF)β72B⇒実行(THEN)β78B”ロジックとその具体的処理の内容を説明する。この場合には、条件(IF)β72Bに対応した処理としてアプリケーション(IF-THEN)エンジン90から照度センサの制御手段(マイクロサービス)γ4Cに対してAPIコマンド75が発行される。それに対応して照度センサの制御手段(マイクロサービス)γ4Cは、認識可能な実体/状態/情報7の照度センサγ7Cを制御して周辺環境の照度を測定させる。得られた照度が事前設定値より低い場合には、照度センサの制御手段(マイクロサービス)γ4Cからアプリケーション(IF-THEN)エンジン90に対してAPIコマンド75の戻り値が返される。 Using the logic example (application rule β70B) of "turn on the lights when it gets dark", the "condition (IF) β72B⇒execution (THEN) β78B" logic and its specific processing will be described. In this case, an API command 75 is issued from the application (IF-THEN) engine 90 to the illuminance sensor control means (microservice) γ4C as processing corresponding to the condition (IF) β72B. Correspondingly, the illuminance sensor control means (microservice) γ4C controls the illuminance sensor γ7C of the recognizable entity/state/information 7 to measure the illuminance of the surrounding environment. When the obtained illuminance is lower than the preset value, the return value of the API command 75 is returned to the application (IF-THEN) engine 90 from the control means (microservice) γ4C of the illuminance sensor.

するとアプリケーション(IF-THEN)エンジン90は上記アプリケーションルールβ70Bに従って、実行(THEN)β78Bの操作を開始する。このときは、アプリケーション(IF-THEN)エンジン90は、マイクロサービスから受け取った信号を、IF-THENルールの解読内容に基づき、必要なマイクロサービスに指示を行う。つまり、アプリケーション(IF-THEN)エンジン90は自律的に処理を実行するのではなく、IFで指定されたマイクロサービスから受け取ったデータを、ルールの条件に照らし合わせて、条件に合致したときに、THENで指定されたマイクロサービスに実行指示をだす。 Then, the application (IF-THEN) engine 90 starts the execution (THEN) β78B operation according to the application rule β70B. At this time, the application (IF-THEN) engine 90 directs the signal received from the microservice to the necessary microservice based on the interpretation of the IF-THEN rule. In other words, the application (IF-THEN) engine 90 does not autonomously execute processing, but compares the data received from the microservice specified by the IF with the conditions of the rules, and when the conditions are met, Issue an execution instruction to the microservice specified by THEN.

するとアプリケーション(IF-THEN)エンジン90から照明点灯スイッチの制御手段(マイクロサービス)δ4Dに対して次のAPIコマンド75が発行される。そして照明点灯スイッチの制御手段(マイクロサービス)δ4Dが認識可能な実体/状態/情報7である照明点灯スイッチδ7Dを制御して、照明点灯スイッチを入れる。これにより、照明スイッチを制御する機能を持つモジュールδ9Dの機能が実行される。 Then, the application (IF-THEN) engine 90 issues the following API command 75 to the lighting switch control means (microservice) δ4D. Then, the lighting switch control means (microservice) δ4D controls the lighting switch δ7D, which is the recognizable entity/state/information 7, to turn on the lighting switch. Thereby, the function of the module δ9D having the function of controlling the lighting switch is executed.

次にユーザが新たなモジュールε9E、ζ9Fを購入してシステム拡張した場合を説明する。このモジュールε9E、ζ9Fの制御手段(マイクロサービス)ε4E、ζ4Fとそれらを組み合わせたアプリケーションルールγ70Cは、Webサーバのクラウドサーバβ2B内で生成される。その後にクラウドサーバβ2Bとエッジコンピュータ6とを接続する通信回線18を経由してそれらがインストール180される。 Next, a case where the user purchases new modules .epsilon.9E and .zeta.9F and expands the system will be described. The control means (microservices) ε4E and ζ4F of the modules ε9E and ζ9F and the application rule γ70C combining them are generated in the cloud server β2B of the Web server. After that, they are installed 180 via the communication line 18 connecting the cloud server β2B and the edge computer 6 .

そしてインストール180された制御手段(マイクロサービス)ε4E、ζ4Fとアプリケーションルールγ70Cは、それぞれファイルの形で(例えばマイクロサービスファイル2602やアプリケーションルールファイルとして)エッジコンピュータ6の所定記録領域に保存される。 The control means (microservices) ε4E and ζ4F and the application rule γ70C installed 180 are stored in a predetermined recording area of the edge computer 6 in the form of files (for example, as a microservice file 2602 or an application rule file).

それと並行してクラウドサーバβ2Bでは、既存のアプリケーションルールβ70Bと新規に作成するアプリケーションルールγ70Cとを統合する統合ルール700が生成される。そしてクラウドサーバβ2Bで、既存のアプリケーションルールβ70Bと新規に作成するアプリケーションルールγ70C間の整合性が検証される。その検証結果として何らかの不具合が発見された場合には、上記のインストール180の際またはユーザに対するサービス提供の際にユーザに通知される。 At the same time, the cloud server β2B generates an integrated rule 700 that integrates the existing application rule β70B and the newly created application rule γ70C. Then, the cloud server β2B verifies consistency between the existing application rule β70B and the newly created application rule γ70C. If any problem is found as a result of the verification, the user is notified during the above installation 180 or during service provision to the user.

クラウドサーバβ2Bは、多数のエッジコンピュータを相手にして、それぞれのエッジコンピュータのアプリケーションルールを検証することが可能である。エッジコンピュータとしては、工場、病院、学校、役所、農場、家庭などのエッジコンピュータがあり、それぞれの施設に適したアプリケーションルールが採用されている。 The cloud server β2B can verify the application rules of each edge computer against many edge computers. As edge computers, there are edge computers in factories, hospitals, schools, government offices, farms, homes, etc., and application rules suitable for each facility are adopted.

上記説明で使用した用語も含めて、本特許明細書内で使用する用語を下記に定義する。 The terms used in this patent specification, including the terms used in the above description, are defined below.

●[モジュール(Module)9]--所定機能の実現手段を意味し、この所定機能が実現された実空間上で人間が[認識可能な実体または状態、情報(instance, status, and/or information)7]とその[制御手段(controller)4]との組み合わせで構成される。本実施形態では基本的に、個々の[制御手段5]で制御される複数の[モジュール9]の操作(動作)の組み合わせで、ユーザに対するサービスが提供される。本実施形態内で説明する[モジュール9]とは、『所定機能を実現するための組み合わせ』の“概念”を示しているに過ぎない。したがって[モジュール9]を構成する[認識可能な実体または状態、情報7]とその[制御手段4]は、“物理的に一体化”されている必要は無い。例えば[認識可能な実体または状態、情報7]とその[制御手段4]が物理的に離れた位置に設置され、通信手段18を利用して両者が連携してもよい。さらに後述するように、いずれも“物理的実体(Physically real object)”を形成している必要は無い。 ● [Module 9]--means means for realizing a predetermined function, and in the real space where this predetermined function is ) 7] and its [controller 4]. In this embodiment, basically, services are provided to users by combining operations (operations) of a plurality of [modules 9] controlled by individual [control means 5]. [Module 9] described in the present embodiment merely indicates the "concept" of "a combination for realizing a predetermined function". Therefore, the [recognizable entity or state, information 7] that constitutes the [module 9] and its [control means 4] need not be "physically integrated". For example, the [recognizable entity or state, information 7] and its [control means 4] may be installed at physically separated positions, and the communication means 18 may be used to cooperate with each other. Neither need necessarily form a "physically real object", as further explained below.

●[人間が認識可能な実体/状態/情報(instance, status, and/or information)7]--実空間上での所定機能の実現対象(object)を意味する。ここで言う実現対象(object)の中に、温湿度や脈拍などの測定可能な[状態]も含まれる。本特許明細書では下記に記載するコンテンツ、データ/情報、処理と、デバイスなどの種類が、実空間上で認識可能な上記[実体または状態、情報(instance, status, and/or information)7]に含まれる。 ● [Human recognizable entity/state/information (instance, status, and/or information) 7]--refers to an object for realizing a predetermined function in the real space. Among the realization objects (objects) mentioned here, measurable [states] such as temperature, humidity, and pulse are also included. In this patent specification, the types of content, data/information, processing, and devices described below are recognizable in the real space [entity or state, information (instance, status, and/or information) 7] include.

●[データ/情報(data and/or information)]--取得データ/情報および提供用データ/情報のいずれもが含まれる。ここでセンサなどの[デバイス]で収集したデータが取得データの一種に該当し、この取得データを解析した結果得られた情報は、取得情報の一種に該当する。当然ながらこの[データ]の中には、温湿度や脈拍などの[状態]の測定結果も含まれる。また[サービス]としてユーザに提供されるデータや情報が提供用データ/情報に分類される。具体的一例として教育資料や教育教材などが、この提供用データ/情報に該当する。 • [data and/or information]--includes both acquisition data/information and provisional data/information. Here, data collected by a [device] such as a sensor corresponds to one type of acquired data, and information obtained as a result of analyzing this acquired data corresponds to one type of acquired information. Naturally, this [data] also includes measurement results of [state] such as temperature, humidity and pulse. Data and information provided to the user as [service] are classified as data/information for provision. As a specific example, educational materials, teaching materials, etc. correspond to this data/information for provision.

●[処理]--所定機能の実現形態の具現化プロセスを意味し、電子機器の介在が前提条件となる。すなわち電子機器を用いたあらゆる具体的動作が含まれる。例えばスマートフォンやWeb画面を用いた発注処理や送金/振込処理、為替処理、(保険などの)契約処理、旅行や業務のスケジューリングおよび、旅行手配などの具体的動作が該当する。ところで例えば“申し込み用紙に手書きした書類を郵便ポストに入れる”などの人手の処理は電子機器が介在しないため、本明細書内で説明する[処理]には該当しない。 ● [Processing]--means the process of realizing a form of implementation of a given function, and the intervention of an electronic device is a prerequisite. In other words, it includes all specific operations using electronic equipment. For example, specific operations such as order processing, remittance/remittance processing, exchange processing, contract processing (such as insurance), travel and business scheduling, and travel arrangements using a smartphone or a web screen are applicable. By the way, manual processing such as "inserting a handwritten document on an application form into a postbox" does not correspond to the [processing] described in this specification because it does not involve an electronic device.

●[デバイス8]--実空間上に実在し、所定機能の実現に利用されるあらゆる電子機器が含まれる。従って上記[処理]を実行する電子機器や上記[コンテンツ]を表示する電子機器、上記[情報/データ]を格納する記憶装置も含まれる。この[デバイス8]は単体で、外部の電子機器との間の通信を行うための通信機能を内蔵しても良い。またこの[デバイス8]は、自然界の物理的(もしくは化学的)な状態や現象に対して作用する機能を持っても良い。自然界に対して受動的作用を行うデバイスには、センサなどが含まれる。また自然界に対して能動的に作用を行うデバイスには、ロボットや駆動機構、表示装置(表示素子)などが含まれる。この[デバイス8]の物理的形態として据え置き形に限らず、移動可能な携帯形の形態を取っても良い。例えばユーザの腕や足に固定するバンド形センサや腰に固定するベルト形センサ、または頭部に装着するVR(virtual reality)タイプやAR(augmented reality)タイプのHMD810などユーザが装着可能(wearable)な形態を取っても良い。 ● [Device 8]--includes all electronic devices that actually exist in the real space and are used to implement a predetermined function. Therefore, it also includes an electronic device that executes the above [processing], an electronic device that displays the above [content], and a storage device that stores the above [information/data]. This [device 8] alone may incorporate a communication function for communicating with an external electronic device. Also, this [device 8] may have a function to act on physical (or chemical) states and phenomena in the natural world. Devices that act passively on the natural world include sensors and the like. Devices that actively act on the natural world include robots, drive mechanisms, display devices (display elements), and the like. The physical form of this [device 8] is not limited to a stationary type, but may be a movable portable type. For example, a band-type sensor fixed to the user's arm or leg, a belt-type sensor fixed to the waist, or a VR (virtual reality) type or AR (augmented reality) type HMD 810 worn on the head. can take any form.

●[制御手段(controller)4]--所定機能を実現するため、[人間が認識可能な実体/状態/情報7]を制御する手段を意味する。この中に通信機能が内蔵され、通信手段を利用して[人間が認識可能な実体/状態/情報7]を制御しても良い。この[制御手段4]を用いた実施例として、Web頁間の遷移制御やWeb頁内での必要箇所の自動入力制御、蓄積されたデータのデータ解析制御、物品の売買処理制御や自動旅行手配処理制御、ロボットの動き制御などが含まれる。また[人間が認識可能な実体/状態/情報7]が温湿度などのセンサに対する制御手段では、自然界の物理的(もしくは化学的)な[状態]を検出して数値化(データ化)する制御をおこなう。ここでこの制御手段の中では、個別詳細機能を実現するための詳細手順が規定される。例えば論理回路の組み合わせで制御ロジックが形成された“ハード形態”で詳細手順が規定されても良い。またそれに限らず、[エッジコンピュータ6]や[クラウドサーバ2]にインストール可能なプログラムのような“ソフト形態” で詳細手順が規定されても良い。 ● [controller 4]--refers to means for controlling [human recognizable entity/state/information 7] in order to achieve a given function. A communication function may be incorporated therein, and the [human recognizable entity/state/information 7] may be controlled using the communication means. As an embodiment using this [control means 4], transition control between Web pages, automatic input control of necessary parts in the Web page, data analysis control of accumulated data, trade processing control of goods, automatic travel arrangement, etc. Processing control, robot motion control, etc. are included. In addition, [human recognizable entity/state/information 7] is a control means for sensors such as temperature and humidity. do Here, in this control means, detailed procedures for realizing individual detailed functions are defined. For example, detailed procedures may be defined in a “hardware form” in which control logic is formed by combining logic circuits. Further, without being limited to this, detailed procedures may be specified in a “software form” such as a program that can be installed in [edge computer 6] or [cloud server 2].

●[マイクロサービス(Micro-service)80/IMS]--オブジェクト指向のプログラミング言語を用いたプログラムで形成した[制御手段4]を意味する。このマイクロサービスの制御対象(object)は上述したようにデバイスに限らず、処理やコンテンツ、情報/データが含まれる。従って例えば、Web頁間の遷移制御や特定Web頁に対応した画面操作などの制御を行うためのAI技術を用いたプログラムソフトも、マイクロサービスの一種あるいはその中の一部に含まれる。同様にAI技術を用いて例えば特定の映像コンテンツ内に登場する人物の人数を自動抽出するプログラムソフトや、取得データを(例えば統計解析などを利用した)解析するプログラムソフトも、マイクロサービスの一種あるいはその中の一部に含まれる。ここで解析した結果得られた情報やその情報を保存する記録装置は、[人間が認識可能な実体/状態/情報7]として扱われる。また[マイクロサービス80]は[制御手段4]の一形態なので、上述したように[マイクロサービス4]をインストールする事で、[エッジコンピュータ6]や[クラウドサーバ2]に拠る制御対象(人間が認識可能な実体/状態/情報7)の制御が可能となる。ここでこの“ソフト形態”で詳細手順を規定する場合、Java(登録商標)言語やオブジェクティブC(Objective-C)言語などのオブジェクト指向のプログラミング言語を用いたプログラムで[制御手段4]を形成すると、既作成プログラム資産の有効活用(他プログラムでの組み込み(import)や呼び出し(APIコマンド75発行)など)が行える(詳細は第2章で後述)。さらにOS(operating system)非依存のJava言語でプログラムを記述すると、[制御手段4]としての汎用性が向上する。以降の説明内では、マイクロサービスの代わりにIMS(ifLink Micro-service)とも呼ぶ。 ● [Micro-service 80/IMS]--means the [control means 4] formed by a program using an object-oriented programming language. Objects controlled by these microservices are not limited to devices as described above, but include processes, content, and information/data. Therefore, for example, program software using AI technology for controlling transitions between web pages and controlling screen operations corresponding to specific web pages is also included in one type or part of microservices. Similarly, program software that uses AI technology to automatically extract the number of people appearing in a specific video content, for example, and program software that analyzes acquired data (using statistical analysis, etc.) are also a type of microservice or included in some of them. The information obtained as a result of the analysis here and the recording device that stores the information are treated as [human recognizable entity/state/information 7]. Also, [microservice 80] is a form of [control means 4], so by installing [microservice 4] as described above, the control target (human Control of recognizable entities/states/information 7) becomes possible. Here, when defining detailed procedures in this "software form", if [control means 4] is formed by a program using an object-oriented programming language such as Java (registered trademark) language or Objective-C language, , effective use of already created program assets (incorporation (import) in other programs, calling (issuance of API command 75), etc.) can be performed (details will be described later in Chapter 2). Furthermore, if the program is written in OS (operating system)-independent Java language, the versatility of the [control means 4] will be improved. In the following description, it is also called IMS (ifLink Micro-service) instead of microservice.

●[制御用メソッド(Control Method)]--[マイクロサービス80]の一部を構成し、特定の個別詳細機能を実現するための詳細手順を規定したプログラムを意味する。個々の制御用メソッドが、個別詳細機能を実現する最小関数単位(すなわちサブプログラム)として扱われる。[アプリケーションエンジン90]からのAPIコマンド75として、特定の個別詳細機能に対応した制御用メソッド名を対応関数(コマンド)として呼び出せる。それにより、[アプリケーションエンジン90]で制御用メソッド名に対応した個別詳細機能を実行させることができる。本実施形態ではオブジェクト指向のプログラミング言語を用いて[制御用メソッド]のプログラムを記述(プログラム内容を規定)する事で、上記のように[アプリケーションルール70]に[制御用メソッド]が連携できる。(具体例を上げた詳細説明は第2章で後述)
●[制御用クラス(Control Class)]--個々の[制御用メソッド]の中で、共通類似機能毎に集めた集合体の塊を意味する。生成するインスタンス(実体)の初期設定機能に対応した制御用メソッドをコンストラクタ(Constructor)と呼ぶ。同一集合体に含まれるコンストラクタ名(コンストラクタに対応する制御用メソッド名)を、制御用クラス名と一致させても良い。前述した[マイクロサービス80]の中で、共通する類似機能毎に制御用メソッドをまとめた管理単位が[制御用クラス]に相当する。従って同一使用目的の[マイクロサービス80]に、複数の異なる[制御用クラス]が存在しても良い。
● [Control Method]--means a program that constitutes a part of [microservice 80] and defines detailed procedures for realizing a specific individual detailed function. Individual control methods are treated as minimum functional units (ie, subprograms) that implement individual detailed functions. As an API command 75 from [application engine 90], a control method name corresponding to a specific individual detailed function can be called as a corresponding function (command). As a result, the [application engine 90] can execute the individual detailed function corresponding to the control method name. In this embodiment, the [control method] can be linked to the [application rule 70] as described above by describing the [control method] program (regulating the program content) using an object-oriented programming language. (Detailed explanation with specific examples will be described later in Chapter 2.)
● [Control Class]--In each [Control Method], it means a group of aggregates collected for each common similar function. A control method corresponding to the initial setting function of an instance (entity) to be created is called a constructor. Constructor names (control method names corresponding to constructors) included in the same aggregate may be matched with control class names. In the [microservice 80] described above, a management unit in which control methods are grouped for each common similar function corresponds to a [control class]. Therefore, a plurality of different [control classes] may exist in the [microservice 80] for the same purpose.

●[制御用パッケージ(Control Package)]--類似機能を持ったクラスの集合を示す。すなわち類似機能を持ったクラスの集まりをフォルダ単位に分けて管理する仕組みに従って定義される。本実施形態では特に、同一モジュール9に含まれる実体/状態/情報7毎に制御用パッケージを分け、それぞれ異なる制御用パッケージ名(制御用パッケージ毎の識別情報)を個々に設定する。従って個々に設定された制御用パッケージ名(制御用パッケージ毎の識別情報)を利用して、実体/状態/情報毎の内容の識別が可能となる。ここで実体/状態/情報に属する[デバイス]を制御するための[制御用パッケージ]の名前を設定する場合には、モジュール(あるいはデバイス)の製造または販売メーカの識別情報や、モジュール(あるいはデバイス)の種別情報、個々の製造番号などを制御用パッケージ毎の識別情報に利用(設定)しても良い。 ● Control Package--Represents a collection of classes with similar functionality. That is, they are defined according to a mechanism for managing groups of classes having similar functions by dividing them into folders. Particularly in this embodiment, control packages are divided for each entity/status/information 7 included in the same module 9, and different control package names (identification information for each control package) are individually set. Therefore, it is possible to identify the contents of each entity/state/information by using the individually set control package name (identification information for each control package). Here, when setting the name of the [control package] for controlling the [device] belonging to the entity/state/information, the identification information of the manufacturer or seller of the module (or device), the module (or device) ), individual manufacturing numbers, etc. may be used (set) as identification information for each control package.

●[マイクロサービスファイル2602]--クラウドサーバ2またはエッジコンピュータ6の記憶領域に[マイクロサービス80]を保存するための保存単位(保存形態/保存形式)を示す。[マイクロサービス80]が例えばJava言語で記述する場合には、[マイクロサービス80]の中身はJava言語の記述文の繋がりとなっている。この情報を保存するには、(制御用クラス毎の処理内容も記述された)制御用クラス単位でファイルを構成する。そしてこの制御用クラスファイルの拡張子は「.class」となる。またクラウドサーバ2またはエッジコンピュータ6の記憶領域に、制御用パッケージ毎の「フォルダ」を配置し、その中に制御用クラスファイルを格納する。なおこのフォルダ名を制御用パッケージ名と一致させる。するとこのフォルダ名からモジュール(あるいはデバイス)の製造/販売メーカ識別情報やモジュール(あるいはデバイス)の種別情報が分かるので、必要な制御用クラスファイルの検索が容易となる。 ● [microservice file 2602 ] -- indicates a storage unit (storage format/storage format) for storing [microservice 80 ] in the storage area of the cloud server 2 or edge computer 6 . When the [microservice 80] is described in Java language, for example, the content of the [microservice 80] is a chain of Java language descriptions. In order to store this information, a file is configured for each control class (which also describes the processing details for each control class). The extension of this control class file is ".class". A "folder" for each control package is placed in the storage area of the cloud server 2 or the edge computer 6, and the control class file is stored therein. This folder name should match the control package name. Then, since the manufacturer/seller identification information of the module (or device) and the type information of the module (or device) can be known from this folder name, it becomes easy to search for the necessary control class file.

●[API(APIコマンド)75]--[アプリケーション(IF-THEN)エンジン90]から個々のマイクロサービス80を操作するための、[アプリケーション(IF-THEN)エンジン90]と[マイクロサービス80]との間のコミュニケーション手段(コミュニケーションツール)を示す。[マイクロサービス80]はそれぞれ、制御用パッケージ/制御用クラス/制御用メソッドの階層構造を持つ。[API(APIコマンド)75]では、個別詳細機能を実現するための詳細手順(プログラム)を示す特定の制御用メソッド名を指定し、制御用メソッド単位での個別詳細機能操作を行う場合が多い。例えばJava言語で記述されたアプリケーションプログラム22(後述する[ifLinkアプリ(サービス提供アプリケーションプログラム)]も含む)でこの特定の制御用メソッドの個別詳細機能を実行する方法例を説明する。このアプリケーションプログラム22のクラス内で最初に、対応する制御用メソッドが入っている制御用パッケージの制御用クラスを組み込む(import処理する)。そして上記クラス内またはメソッド内で対応する制御用メソッド名を指定することで、この個別詳細機能を実行できる。
●[アプリケーション(IF-THEN)ルール70]--ユーザに所定サービスを提供する方法を示した、異なる複数の制御手段4(またはモジュール9)を組み合わせ方法(ルール)の規定情報を示す。[アプリケーション(IF-THEN)ルール70]が例えば論理回路の組み合わせで構成されるハードウェアで構成されている場合、この組み合わせ論理回路の出力端子が、[制御手段4]の論理回路の組み合わせで構成される制御ロジックの入力端子側に電気的に直接接続される。一方でこの[アプリケーション(IF-THEN)ルール70]が所定記述方法に則った記述形式(Web画面を構成するHTMLも含む)で規定された場合には、クラウドサーバ2またはエッジコンピュータ6のアプリケーション(IF-THEN)エンジン90が上記[アプリケーション(IF-THEN)ルール70]の内容を解読する。そしてその解読結果に基づいて、アプリケーション(IF-THEN)エンジン90から該当するマイクロサービス80に対してAPIコマンド75が発行され、マイクロサービス80からの認識可能な実体/状態/情報7への制御が開始される。
[API (API command) 75]--[application (IF-THEN) engine 90] and [microservice 80] for operating individual microservices 80 from [application (IF-THEN) engine 90] indicates a means of communication (communication tool) between Each [microservice 80] has a hierarchical structure of control package/control class/control method. In [API (API command) 75], in many cases, a specific control method name indicating a detailed procedure (program) for realizing an individual detailed function is specified, and the individual detailed function operation is performed for each control method. . An example of a method for executing the individual detailed function of this specific control method with an application program 22 (including [ifLink application (service providing application program)] described later) written in Java language, for example, will be described. In the class of this application program 22, first, the control class of the control package containing the corresponding control method is incorporated (imported). By designating the corresponding control method name within the class or within the method, this individual detailed function can be executed.
● [Application (IF-THEN) rule 70]--Indicates stipulation information of a method (rule) for combining a plurality of different control means 4 (or modules 9), which indicates a method of providing a predetermined service to a user. When [application (IF-THEN) rule 70] is composed of hardware composed of, for example, a combination of logic circuits, the output terminal of this combinational logic circuit is composed of a combination of logic circuits of [control means 4]. It is electrically connected directly to the input terminal side of the control logic to be connected. On the other hand, if this [application (IF-THEN) rule 70] is defined in a description format (including HTML that constitutes a web screen) in accordance with a predetermined description method, the cloud server 2 or the edge computer 6 application ( The IF-THEN) engine 90 decodes the contents of the [application (IF-THEN) rule 70]. Based on the decryption result, an API command 75 is issued from the application (IF-THEN) engine 90 to the corresponding microservice 80, and the microservice 80 controls the recognizable entity/state/information 7. be started.

●[統合ルール700]--同一のエッジコンピュータ6または同一のifLinkアプリに複数の異なる[アプリケーション(IF-THEN)ルール70]が規定された時に生成される。この[統合ルール700]の生成目的は、複数の異なる[アプリケーション(IF-THEN)ルール70]が組み合わされた場合に発生し得る矛盾や不具合を事前に発見し、ユーザへのサービス提供時のトラブル回避にある。ユーザが複数の異なる[アプリケーション(IF-THEN)ルール70]の規定を希望した場合、最初にクラウドサーバ2で[統合ルール700]が生成され、クラウドサーバ2でこの[統合ルール700]に沿った操作がシミュレーションされる。このシミュレーション結果で矛盾や不具合が発生した場合には、ユーザに通知して善処を提案する。シミュレーション結果で矛盾や不具合が起きない事が確認された後、この統合ルール700がクラウドサーバ2からエッジコンピュータ6にインストール180される。このインストール180後は、エッジコンピュータ6ではこの[統合ルール700]に従って各種マイクロサービス80(制御手段4)の操作が行われる。 ● [Unified Rule 700] -- Generated when multiple different [Application (IF-THEN) Rules 70] are defined for the same edge computer 6 or the same ifLink application. The purpose of generating this [integration rule 700] is to discover in advance contradictions and problems that may occur when multiple different [application (IF-THEN) rules 70] are combined, and to solve problems when providing services to users. in avoidance. When a user desires to specify a plurality of different [application (IF-THEN) rules 70], cloud server 2 first generates [integration rule 700], and cloud server 2 follows this [integration rule 700]. Manipulation is simulated. If a contradiction or problem occurs in the simulation results, the user is notified and a remedy is proposed. After confirming that no inconsistency or trouble occurs in the simulation results, this integration rule 700 is installed 180 from the cloud server 2 to the edge computer 6 . After this installation 180, the edge computer 6 operates various microservices 80 (control means 4) according to this [integration rule 700].

●[エッジコンピュータ6]--[アプリケーション(IF-THEN)エンジン90]を持ち、[アプリケーション(IF-THEN)ルール70]とそれに対応したユーザへのサービス提供に必要な各種[マイクロサービス80]が予め記憶されている。ユーザが[プレイス1]から所定のサービス提供を受けたい場合には、[プレイス1]へのユーザからの要求に基づき、[アプリケーション(IF-THEN)ルール70]とそれに対応した[マイクロサービス80]がクラウドサーバβ2Bから事前にインストールされる。[エッジコンピュータ6]は、プロセッサとメモリ部、通信部から構成される。ここでインストールされた[アプリケーション(IF-THEN)ルール70]とそれに対応した[マイクロサービス80]は、メモリ部に格納される。またこの[アプリケーション(IF-THEN)ルール70]に従って[アプリケーション(IF-THEN)エンジン90]の機能を、上記プロセッサが担う。このようにプロセッサとメモリ部、通信部から構成される限り、[エッジコンピュータ6]として任意の形態を取れる。具体的な形態例として、パーソナルコンピュータやスマートフォン、タブレット、サイネージ、ゲートウェイ、ルータなどが[エッジコンピュータ6]として機能してもよい。 ● [Edge computer 6]--has [application (IF-THEN) engine 90], [application (IF-THEN) rule 70] and various [microservices 80] necessary for providing services to users corresponding to it stored in advance. When a user wants to receive a predetermined service from [Place 1], [application (IF-THEN) rule 70] and [microservice 80] corresponding to it are generated based on the request from the user to [Place 1]. is installed in advance from the cloud server β2B. [Edge computer 6] is composed of a processor, a memory unit, and a communication unit. [Application (IF-THEN) rule 70] installed here and [Microservice 80] corresponding thereto are stored in the memory unit. In addition, the above-mentioned processor bears the function of [application (IF-THEN) engine 90] according to this [application (IF-THEN) rule 70]. As long as the edge computer 6 is composed of a processor, a memory unit, and a communication unit in this way, the [edge computer 6] can take any form. As a specific form example, a personal computer, a smart phone, a tablet, a signage, a gateway, a router, etc. may function as the [edge computer 6].

●[ifLinkアプリ(サービス提供アプリケーションプログラム)92]--ユーザ1700に所定サービスを提供するために、クラウドサーバα2Aまたはエッジコンピュータ6で処理されるプログラムを意味する。そしてこれは、[アプリケーション(IF-THEN)ルール70]の内容に沿った処理を実行する[アプリケーション(IF-THEN)エンジン90]と、設定・管理画面部98、クラウドサーバ2間の通信に関与するデータ送信96とルール受信部94から構成される。またこの[ifLinkアプリ(サービス提供アプリケーションプログラム)92]では、予め保存された所定の[アプリケーション(IF-THEN)ルール70]の内容を最初に参照するようにプログラムされている。そしてクラウドサーバα2Aまたはエッジコンピュータ6の[アプリケーション(IF-THEN)エンジン90]が、この[ifLinkアプリ(サービス提供アプリケーションプログラム)92]内でプログラムされた内容に沿った処理を実行し、ユーザ1700に所定サービスを提供する。 ● [ifLink application (service providing application program) 92 ]--means a program processed by the cloud server α2A or the edge computer 6 in order to provide a predetermined service to the user 1700 . This is involved in the communication between the [application (IF-THEN) engine 90] that executes processing according to the [application (IF-THEN) rule 70], the setting/management screen unit 98, and the cloud server 2. It consists of a data transmission 96 and a rule reception section 94 . The [ifLink application (service providing application program) 92] is programmed to first refer to the contents of a pre-stored predetermined [application (IF-THEN) rule 70]. Then, the cloud server α2A or the [application (IF-THEN) engine 90] of the edge computer 6 executes processing according to the contents programmed in this [ifLink application (service providing application program) 92], and the user 1700 provide the prescribed service;

●[アプリケーション(IF-THEN)エンジン90]--クラウドサーバα2Aまたはエッジコンピュータ6に内蔵され、クラウドサーバα2Aまたはエッジコンピュータ6内での処理/実行を行う場所(機能)を意味する。ハード的には、演算処理プロセッサ(あるいはその処理状態)を対応させてもよい。この[アプリケーション(IF-THEN)エンジン90]は[アプリケーション(IF-THEN)ルール70]を読み込み、その内容を解読する。そしてその解読内容を参照し、[ifLinkアプリ(サービス提供アプリケーションプログラム)92]でプログラムされた内容に沿った処理を実行する。その処理/実行の途中で、必要な[APIコマンド75]をマイクロサービス80に発行する。この[アプリケーション(IF-THEN)エンジン90]の内部は、[アプリケーション(IF-THEN)ルール70]が記述された記述形式(対応するプログラミング言語)に応じたプログラミング言語解釈エンジンと、その解釈結果を参照しながら[ifLinkアプリ(サービス提供アプリケーションプログラム)]で規定されたプログラムに沿った処理を実行する制御エンジンから構成される。[アプリケーション(IF-THEN)ルール70]がHTMLで記述(表現)された場合に対応して、Webブラウザ機能が内蔵されてもよい。 ● [Application (IF-THEN) engine 90]--It is built in the cloud server α2A or the edge computer 6, and means a place (function) where processing/execution within the cloud server α2A or the edge computer 6 is performed. In terms of hardware, an arithmetic processor (or its processing state) may correspond. This [application (IF-THEN) engine 90] reads the [application (IF-THEN) rule 70] and decodes its contents. Then, referring to the decoded contents, the processing according to the contents programmed by the [ifLink application (service providing application program) 92] is executed. In the middle of the processing/execution, the necessary [API command 75] is issued to the microservice 80. The inside of this [application (IF-THEN) engine 90] is a programming language interpretation engine corresponding to the description format (corresponding programming language) in which the [application (IF-THEN) rule 70] is described, and the interpretation result. It is composed of a control engine that executes processing according to a program defined in [ifLink application (service providing application program)] while referring to it. A web browser function may be built in to correspond to the case where the [application (IF-THEN) rule 70] is described (expressed) in HTML.

●[クラウドサーバ2]--[アプリケーション(IF-THEN)エンジン90]を持ち、[アプリケーション(IF-THEN)ルール70]とそれに対応したユーザへのサービス提供に必要な各種[マイクロサービス80]が予め記憶されている。ユーザが[プレイス1]から所定のサービス提供を受けたい場合には、[プレイス1]へのユーザからの要求に基づき、[アプリケーション(IF-THEN)ルール70]とそれに対応した[マイクロサービス80]をエッジコンピュータ6に送信する。この送信方法の一例としてHTML内でURLを指定するリンク機能(Anchor Element)を利用する場合には、この[クラウドサーバ2]としてWebサーバ機能を有してもよい。 ● [Cloud server 2]--has [application (IF-THEN) engine 90], [application (IF-THEN) rule 70] and various [microservices 80] necessary for providing services to users corresponding to it stored in advance. When a user wants to receive a predetermined service from [Place 1], [application (IF-THEN) rule 70] and [microservice 80] corresponding to it are generated based on the request from the user to [Place 1]. to the edge computer 6. As an example of this transmission method, if a link function (Anchor Element) specifying a URL in HTML is used, the [cloud server 2] may have a Web server function.

●[サービス]--所定の[実体/状態/情報7]の制御を組み合わせて、有償または無償でユーザに対して所定の[処理]や[状態]の変化、あるいは[コンテンツ]や[データ/情報]を提供する能動的動作を意味する。本実施形態では[アプリケーション(IF-THEN)ルール70]に従って、ユーザに[サービス]を提供する。この[サービス]提供の形態として本実施形態では、各種デバイス8を利用した実空間上あるいは物理空間上のサービスとWebサービスなどを利用したサイバ空間上のサービス間の垣根を越えた(跨った)組み合わせ(複合化)サービスを提供してもよい。 ● [Service] --- Combining the control of the prescribed [entity/state/information 7], the prescribed [processing] or [state] changes, or the [contents] or [data/ information]. In this embodiment, the [service] is provided to the user according to the [application (IF-THEN) rule 70]. As a form of providing this [service], in this embodiment, a service that transcends (straddles) a barrier between a service in a real space or a physical space using various devices 8 and a service in a cyber space using a web service or the like is provided. Combined (composite) services may be provided.

図11で説明した本実施形態における応用例概念を下記にまとめて記述する。すなわちモジュール9は、人間が認識可能な実体または状態/情報7と、それを制御する制御手段4から構成される。そしてこのモジュール9は複数定義できる。すなわち第1のモジュールγ9Cに関する第1の制御手段γ4Cと第2のモジュールδ9Dに関する第2の制御手段δ4Dが個々に定義される。 Concepts of application examples in this embodiment described with reference to FIG. 11 will be collectively described below. That is, the module 9 consists of a human recognizable entity or state/information 7 and a control means 4 for controlling it. A plurality of modules 9 can be defined. That is, the first control means γ4C for the first module γ9C and the second control means δ4D for the second module δ9D are individually defined.

ここでこの第1のモジュールγ9Cと前記第2のモジュールδ9Dの組み合わせでユーザにサービスを提供するためのアプリケーションルール70が設定される。そしてこのアプリケーションルール70の内容に従ってアプリケーション(IF-THEN)エンジン90から第1の制御手段γ4Cと第2の制御手段δ4Dに対して個々にAPIコマンド75が発行されて、第1または第2の制御手段γ4C、δ4Dを操作する。本実施形態におけるモジュール制御方法を利用する。 Here, an application rule 70 for providing services to the user is set by the combination of the first module γ9C and the second module δ9D. API commands 75 are individually issued from the application (IF-THEN) engine 90 to the first control means γ4C and the second control means δ4D in accordance with the content of the application rule 70 to perform the first or second control. Operate means γ4C and δ4D. The module control method in this embodiment is used.

上述した制御手段4の中にマイクロサービス80が含まれる。そしてこのマイクロサービス80は、オブジェクト指向のプログラミング言語を用いたプログラムで形成(記述)してもよい。(但しそれに限らず、マイクロサービス80を任意のプログラミング言語で記述してもよい。)ここで人間が認識可能な第1の実体または状態、情報γ7Cを制御する第1のマイクロサービス80(制御手段γ4C)と、人間が認識可能な第2の実体または状態、情報δ7Dを制御する第2のマイクロサービス80(制御手段δ4D)が定義される。そしてこの第1のマイクロサービス80と前記第2のマイクロサービス80の組み合わせでユーザにサービスを提供するためのアプリケーションルールβ70Bが設定される。そしてアプリケーションルールβ70Bに従ってアプリケーション(IF-THEN)エンジン90から発行されるAPIコマンド75に対応して、これら第1/第2のマイクロサービス80が認識可能な第1の実体または状態、情報γ7C、δ7Dを個々に制御する。 A microservice 80 is included in the control means 4 described above. The microservice 80 may be formed (written) by a program using an object-oriented programming language. (However, the microservice 80 is not limited to this, and may be written in any programming language.) Here, the first microservice 80 (control means γ4C) and a second human-visible entity or state, a second microservice 80 (controller δ4D) that controls information δ7D is defined. An application rule β70B is set for providing a service to the user by combining the first microservice 80 and the second microservice 80. FIG. Then, in response to the API command 75 issued from the application (IF-THEN) engine 90 according to the application rule β70B, the first entity or state recognizable by these first/second microservices 80, information γ7C, δ7D individually controlled.

また本実施形態(の応用例)におけるエッジコンピュータ6では、アプリケーションルールγ70C(および統合ルール700)とマイクロサービス80(制御手段4F)をクラウドサーバβ2Bから受信し、事前にインストール180しておく。その結果として、人間が認識可能な第1の実体または状態、情報ε7Eを制御する第1のマイクロサービス80(制御手段ε4E)と、人間が認識可能な第2の実体または状態、情報ζ7Fを制御する第2のマイクロサービス80(制御手段ζ4F)、それに関係するアプリケーションルールγ70C(および統合ルール700)が、予めエッジコンピュータ6に内蔵されている。ここで上記アプリケーションルールγ70C(および統合ルール700)は、第1のマイクロサービス80(制御手段ε4E)と第2のマイクロサービス80(制御手段ζ4F)の組み合わせでユーザにサービスを提供するためのルールが規定されている。そして上記エッジコンピュータ6で第1のマイクロサービス80(制御手段ε4E)と第2のマイクロサービス80(制御手段ζ4F)を操作して、人間が認識可能な第2の実体または状態、情報ζ7Fまたは人間が認識可能な第2の実体または状態、情報ζ7Fを個別に制御して、ユーザに対してサービスを提供する。 Further, the edge computer 6 in this embodiment (application example) receives the application rule γ70C (and the integration rule 700) and the microservice 80 (control means 4F) from the cloud server β2B, and installs them 180 in advance. As a result, a first microservice 80 (controlling means ε4E) that controls a first human-recognizable entity or state, information ε7E, and a second human-recognizable entity or state, information ζ7F. A second microservice 80 (controlling means ζ4F) and related application rule γ70C (and integration rule 700) are built in the edge computer 6 in advance. Here, the application rule γ70C (and the integration rule 700) is a rule for providing services to users by combining the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F). stipulated. Then, the edge computer 6 operates the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F) to obtain a human-recognizable second entity or state, information ζ7F or human separately controls a second entity or state recognizable by , information ζ7F, to provide services to the user.

特に本実施形態(の応用例)におけるエッジコンピュータ6では、アプリケーション(IF-THEN)エンジン90を所有する。そして上記アプリケーションルールγ70C(および統合ルール700)で規定されたルールに従って、アプリケーション(IF-THEN)エンジン90からAPIコマンド75を第1のマイクロサービス80(制御手段ε4E)と第2のマイクロサービス80(制御手段ζ4F)に発行する。その結果として、第1または第2のマイクロサービス80(制御手段ε4E、ζ4F)が認識可能な実体または状態、情報ε7E、ζ7Fを個々に制御して、ユーザへのサービスを提供する。そして本実施形態(の応用例)におけるサービス提供方法では、上述した方法を用いてユーザへのサービスを提供する。 In particular, the edge computer 6 in this embodiment (application example) has an application (IF-THEN) engine 90 . Then, according to the rules defined by the application rule γ70C (and the integration rule 700), the application (IF-THEN) engine 90 sends the API command 75 to the first microservice 80 (control means ε4E) and the second microservice 80 ( Issue to the control means ζ4F). As a result, the first or second microservice 80 (control means ε4E, ζ4F) individually controls recognizable entities or states, information ε7E, ζ7F to provide services to users. Then, in the service providing method in this embodiment (application example), the above-described method is used to provide the service to the user.

本実施形態(の応用例)では上述したように、マイクロサービス80の内容をJava言語などのOS非依存プログラミング言語で記述できる。 In this embodiment (application example), as described above, the contents of the microservice 80 can be described in an OS-independent programming language such as Java language.

図12を用いて、その効果を説明する。OS非依存の汎用プログラミング言語のJava言語の場合、個々のOS層α30A、β30Bに対応した翻訳領域α1300A、β1300B(Virtual Machine)が予め準備されている。そしてJava言語で記述されたマイクロサービス80の内容が、翻訳領域α1300A、β1300B(Virtual Machine)を経由して翻訳され、個々のOSα30A、β30Bに渡される。 The effect will be described with reference to FIG. In the case of Java, which is an OS-independent general-purpose programming language, translation regions α1300A and β1300B (Virtual Machines) corresponding to individual OS layers α30A and β30B are prepared in advance. The contents of the microservice 80 written in Java language are translated via the translation areas α1300A and β1300B (Virtual Machines) and delivered to the individual OSs α30A and β30B.

特に本実施形態におけるマイクロサービス80のコマンドは、OS層α30A、β30Bレベルの基本的APIコマンド75の組み合わせで記述される。その結果として、各デバイスの基本的制御を詳細に行える効果が生まれる。
図13に、マイクロサービス80のクラス構成(ソフトウェアアーキテクチャ)を示す。なお、この章ではマイクロサービス80を中心に説明するがそれに限らず、広義な制御手段4にも下記に説明する内容は適用できる。
In particular, commands of the microservice 80 in this embodiment are described by a combination of basic API commands 75 of the OS layer α30A and β30B levels. As a result, there is an effect that the basic control of each device can be performed in detail.
FIG. 13 shows the class configuration (software architecture) of the microservice 80. As shown in FIG. In this chapter, the microservice 80 will be mainly described, but the content described below can be applied not only to the microservice 80 but also to the control means 4 in a broad sense.

マイクロサービス80に要求される基本機能として、『対応する個々のデバイス8の制御機能』が必須条件となる。しかしそれに限らず、『個々のデバイス8の制御に関係した周辺機能』も、マイクロサービス80の機能として要求される。その具体例として例えば、アプリケーション(IF-THEN)エンジンとのインターフェース処理を行ったり、対応するデバイス8が動作可能な状態か否かの確認なども必要となる。 As a basic function required for the microservice 80, "control function of each corresponding device 8" is an essential condition. However, not limited to this, "peripheral functions related to control of individual devices 8" are also required as functions of microservices 80. FIG. As a specific example, it is necessary to perform interface processing with an application (IF-THEN) engine, and to check whether the corresponding device 8 is in an operable state.

本実施形態ではマイクロサービス80を上記とは異なる機能別に異なるクラスに分離し、マイクロサービス80の機能拡張性を向上させている。つまり『対応する個々のデバイス8の制御機能』を実行するために、個別デバイス制御クラス(Custom Device Class)2102を設定する。そして対応するデバイス8の個別詳細機能毎の詳細手順プログラム内容が記述された複数のメソッドを、この中に配置(記述)する。 In the present embodiment, the microservices 80 are separated into different classes according to functions different from the above, and the functional expandability of the microservices 80 is improved. In other words, the Custom Device Class 2102 is set in order to execute the "control function of each corresponding device 8". Then, a plurality of methods in which detailed procedure program contents for each individual detailed function of the corresponding device 8 are described are arranged (described) therein.

一方で『個々のデバイス8の制御に関係した周辺機能』を実行させるプログラムとして、個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110を設置する。 On the other hand, as a program for executing "peripheral functions related to control of individual devices 8", a control class (Customims Class) 2110 within microservices corresponding to individual devices is installed.

ここで上記の個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110の中から、個別デバイス制御クラス(Custom Device Class)2102の個別の制御メソッドを呼び出して(組み込んで)76実行可能にしている。具体的には個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110の前にインポート文を用いて
import [個別デバイス制御用パッケージ名].[個別デバイス制御クラス名(Custom Device)];
を指定すると、個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110で個別デバイス制御クラス2102内個別制御クラスの組み込み76が可能となる。そして個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110またはその中の特定制御クラスで、個別デバイス制御クラス2102内個別制御メソッド名と引数、戻り値の形式(タイプ)を記述する。これにより、個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110またはその中の特定制御クラス内で、個別デバイス制御クラス2102内個別制御メソッドの呼び出し/使用76が可能となる。
Here, the individual control method of the individual device control class (Custom Device Class) 2102 is called (incorporated) from the control class (Customims Class) 2110 within the microservice corresponding to the individual device described above to make it executable 76 . Specifically, using an import sentence before the control class (Customims Class) 2110 in the microservice corresponding to individual devices
import [Individual device control package name].[Individual device control class name (Custom Device)];
, it is possible to incorporate 76 the individual control class in the individual device control class 2102 in the individual device corresponding microservice control class (Customims Class) 2110 . In the individual device control class (Customims Class) 2110 or a specific control class therein, the individual control method name, argument, and return value format (type) in the individual device control class 2102 are described. This allows invocation/use 76 of custom control methods in the custom device control class 2102 within the custom control class (Customims Class) 2110 or a specific control class therein.

本実施形態では、制御するデバイス8個々の特性に合わせた最適なデータE60をデバイス8に送信できる。それを可能にするため本実施形態では、異なる製造/販売メーカとデバイス機種毎に異なる個別デバイス制御用パッケージ2100の設定を可能にしている。 In this embodiment, the optimum data E60 that matches the characteristics of each device 8 to be controlled can be transmitted to the device 8. FIG. In order to make this possible, in the present embodiment, different individual device control packages 2100 can be set for different manufacturers/sellers and device models.

一方でユーザに納入したシステム間の互換性や将来の拡張性を保証する必要がある。このようなシステム間の互換性や将来の拡張性を確保するため、クラス毎の記述内容(プログラム)の基準となるテンプレートクラスを提供してもよい。すなわち個別デバイス制御クラス(Custom Device Class)2102に対しては、デバイス制御テンプレートクラス(Base Device Class)2002をテンプレートクラスとして任意のプログラマに提供する。また個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110に対しては、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010をテンプレートクラスとして任意のプログラマに提供する。 On the other hand, it is necessary to guarantee compatibility and future expandability between systems delivered to users. In order to ensure such inter-system compatibility and future expandability, a template class may be provided as a reference for the description content (program) for each class. That is, for the individual device control class (Custom Device Class) 2102, a device control template class (Base Device Class) 2002 is provided to any programmer as a template class. In addition, for the control class (Customims Class) 2110 within the microservice corresponding to individual devices, a control template class (BaseIms Class) 2010 within the microservice is provided to any programmer as a template class.

新たなマイクロサービス80をプログラミングしようとするプログラマは上記テンプレート内容の小修正(カスタマイズ)74のみで個別デバイス制御クラス(Custom Device Class)2102と個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110が作成できるので、新たなマイクロサービス80の作成を行うプログラマは短期間で効率良くマイクロサービス80を作成できる効果がある。 A programmer who intends to program a new microservice 80 creates an individual device control class (Custom Device Class) 2102 and a control class (Customims Class) 2110 within the microservice corresponding to individual devices only by minor modification (customization) 74 of the above template contents. Therefore, a programmer who creates a new microservice 80 can efficiently create the microservice 80 in a short period of time.

そして各クラスが元のテンプレートクラスを機能継承(Extends)74している事を示すため、個別に作成した各クラス名を定義する場所で例えば
public class Custom Device extends Base Device {
と記述すると、クラス間の機能継承(Extends)74の関係が明記される。このような記述方法を利用することで、個別のマイクロサービス80の管理が容易になるばかりでなく、システム間の互換性と拡張性が確保し易くなる。
And to show that each class extends 74 the function of the original template class, at the place where each class name created individually is defined, for example
public class Custom Device extends Base Device {
, the relationship of function inheritance (Extends) 74 between classes is specified. Using such a description method not only facilitates management of individual microservices 80, but also facilitates compatibility and extensibility between systems.

ところで上記の“public”は、「 Custom Device Class の他システムでの使用(転用)を許可する」と言う意味を持つ。この場所に“public”の代わりに“private”と記載すると、自分自身のクラス(上記の例では、Custom Device Class)以外の使用が禁止される。また“protected”と記述すると、パッケージのクラスと機能継承74したクラスのみで使用可能となる。多くのプログラマがマイクロサービス80の作成(修正)に関わると、意図しない改ざんなどトラブルが発生し易い。上記のようにルール化する事で、複数のプログラマ間でのトラブル発生頻度が減る効果がある。 By the way, the above "public" has the meaning of "allowing the use (diversion) of the Custom Device Class in other systems". If you write "private" instead of "public" in this place, use other than your own class (Custom Device Class in the above example) is prohibited. Also, if it is described as "protected", it can be used only in the class of the package and the class that inherits the function 74. If many programmers are involved in the creation (modification) of the microservice 80, troubles such as unintended tampering are likely to occur. Making rules as described above has the effect of reducing the frequency of troubles occurring between multiple programmers.

図13が示すように、アプリケーション(IF-THEN)エンジン90からのAPIコマンド(連携指定)75は、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010で処理する。 As shown in FIG. 13, an API command (cooperation designation) 75 from the application (IF-THEN) engine 90 is processed by the microservice control template class (BaseIms Class) 2010 .

またユーザ1700へ所定サービスを提供している途中で例えば、デバイス8の電池切れなど異常事態が発生する可能性がある。この緊急で発生する異常事態に対処する機能を持った異常検知クラス(Health Check Task Class)2016を配置し、異常事態への迅速対処を可能にしている。この異常検知クラス(Health Check Task Class)2016は、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010から呼び出し/組み込み処理76される。ここでの呼び出し/組み込み処理76は、上述した同じ方法で処理される。 Also, during the provision of a predetermined service to the user 1700, for example, an abnormal situation such as the device 8 running out of battery may occur. An anomaly detection class (Health Check Task Class) 2016 having a function to cope with an emergency that occurs in an emergency is arranged to enable quick response to the anomaly. This anomaly detection class (Health Check Task Class) 2016 is called/implemented 76 from the microservice control template class (BaseIms Class) 2010 . The invocation/insertion processing 76 here is handled in the same manner as described above.

特に本実施形態では、画像認識などのAI処理が必要となる。そのため基本制御用パッケージ2000に、AI技術を用いた画像認識処理を専門に行うAIを用いた画像認識クラス(AI Analyze Class)2018を配置している。 Especially in this embodiment, AI processing such as image recognition is required. Therefore, in the basic control package 2000, an image recognition class (AI Analyze Class) 2018 using AI that specializes in image recognition processing using AI technology is arranged.

図2の通常カメラ画像認識部112(図7ではセンサマイクロサービス80Aが対応)で
1〕画像信号の画像認識(画像解析)を行い、
2〕画面内に人が居るかどうかを判別(人物検出)し、
3〕画面内に人が居る場合には、その人数を算出(人数検出)し、
4〕画面内に人が居る場合に限り、その人数それぞれの頭部の位置を認識(頭部検出)し、
5〕画面内判別された人毎に、その人と赤外線カメラ806との距離の計算(距離検出)する
一連の画像認識処理が行われる説明をした。そしてそれに対応してAIを用いた画像認識クラス(AI Analyze Class)2018で、上記〔1〕~〔5〕の個別処理を行う個々のメソッドがそれぞれ配置(プログラム記述)されている。
The normal camera image recognition unit 112 in FIG. 2 (corresponding to the sensor microservice 80A in FIG. 7) 1) performs image recognition (image analysis) of the image signal,
2) Determining whether or not there is a person in the screen (person detection),
3) If there are people in the screen, calculate the number of people (detect the number of people),
4) Recognize the position of the head of each person (head detection) only when there are people in the screen,
5) It has been described that a series of image recognition processes are performed to calculate the distance (distance detection) between each person identified in the screen and the infrared camera 806 . Correspondingly, in an image recognition class (AI Analyze Class) 2018 using AI, individual methods for performing the above individual processes [1] to [5] are arranged (programmed).

そして各メソッドに対応したAPIコマンドを用いて、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010または個別デバイス対応マイクロサービス内制御クラス(Customins Class)2110内ら個別に対応する各メソッドを呼び出して76処理される。ここで図5に示したフロー手順に従って順次、対応する各メソッドを呼び出す76。 Then, using an API command corresponding to each method, each corresponding method is individually called from within the microservice control template class (BaseIms Class) 2010 or the individual device corresponding microservice control class (Customins Class) 2110, and 76 processes are performed. be done. Here, each corresponding method is sequentially called 76 according to the flow procedure shown in FIG.

図2の通常カメラ画像認識部112で行う“2〕人物検出”に関する画像認識処理では、利用シーンに応じた柔軟な処理が要求されることを既に説明した。例えば受付カウンタを訪れた来客数は同時に数名以下の場合が多いので、比較的容易に人物の個別識別が容易となる。しかし受付カウンタ奥に設置された通常カメラ816では、来客者の上半身しか撮影できない。 It has already been explained that the image recognition processing related to "2) person detection" performed by the normal camera image recognition unit 112 in FIG. 2 requires flexible processing according to the usage scene. For example, since the number of visitors who visit the reception counter at the same time is often less than several, individual identification of persons is relatively easy. However, the normal camera 816 installed behind the reception counter can only photograph the upper body of the visitor.

また通常カメラ816で通路を撮影する場合には全身撮影が可能な反面、動いている人を認識する必要がある。つまり通路での高熱者検出には、高速性が要請される。一方で40人程度の生徒が集まった教室内で高熱者を検出する場合には、大勢の人の体温を同時測定する必要がある。 Also, when the normal camera 816 is used to photograph the aisle, it is possible to photograph the whole body, but on the other hand, it is necessary to recognize a moving person. In other words, high-speed detection is required for high-temperature person detection in passageways. On the other hand, when detecting a person with a high fever in a classroom where about 40 students have gathered, it is necessary to simultaneously measure the body temperatures of many people.

このように“受付カウンタ”や“通路内”、“教室内”などの利用シーンに応じた最適な人物検出ロジック(画像認識アルゴリズム)に個々に対応した複数のAIを用いた画像認識クラス(AI Analyze Class)2018を同一の基本制御用パッケージ2000内に同時配置してもよい。(但しこの場合には、クラス毎にクラス名が変わる。)そしてマイクロサービス内制御テンプレートクラス(BaseIms Class)2010または個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110からは、対応するクラス名を指定すると共にその中に個別に配置(記述)された各メソッドを呼び出して76処理される。 In this way, image recognition classes (AI Analyze Class) 2018 may be arranged in the same basic control package 2000 at the same time. (However, in this case, the class name changes for each class.) Then, from the microservice control template class (BaseIms Class) 2010 or the individual device corresponding microservice control class (Customims Class) 2110, the corresponding class name is It is processed 76 by calling each method specified and individually arranged (described) therein.

またそれに限らず、AIを用いた画像認識クラス(AI Analyze Class)2018に“受付カウンタ”や“通路内”、“教室内”などの利用シーンに応じて上記〔1〕~〔5〕の個別処理を行う個々のメソッドを全て配置(プログラム記述)してもよい。 Not limited to this, the AI Analyze Class 2018 can be used for the individual applications of [1] to [5] according to the usage scene such as "reception counter", "inside the passage", and "inside the classroom". All individual methods for processing may be arranged (programmed).

このように同一の基本制御用パッケージ2000にAIを用いた画像認識クラス(AI Analyze Class)2018を配置すると、マイクロサービス80での対応する各クラスを呼び出し76/活用が可能となる。それにより異なる利用シーン毎に最適な人物検出ロジックが選択できるので、柔軟で高精度な画像認識やAI処理が可能となる。 When the image recognition class (AI Analyze Class) 2018 using AI is placed in the same basic control package 2000 in this way, each corresponding class in the microservice 80 can be called 76/utilized. As a result, the optimum person detection logic can be selected for each different usage scene, enabling flexible and highly accurate image recognition and AI processing.

同一マイクロサービス80の画像認識(あるいはAI処理に利用される)に使用されるデータ移動の方法を説明する。図2で示したデータのブロック間移動と、同一マイクロサービス80内データのメソッド間移動は実質的に同義語を意味する。例えば図2では、通常カメラ画像識別部112のブロック内での画像認識結果が、人物頭部温度判定部125のブロック内に移動する。 A method of moving data used for image recognition (or used for AI processing) in the same microservice 80 will be described. The inter-block movement of data shown in FIG. 2 and the inter-method movement of data within the same microservice 80 are substantially synonymous. For example, in FIG. 2 , the image recognition result within the block of the normal camera image identification unit 112 moves within the block of the human head temperature determination unit 125 .

図13のデバイス制御テンプレートクラス(Base Device Class)2002あるいは個別デバイス制御クラス(Custom Device Class)2102で取得したセンサ802の検出データは、AIを用いた画像認識クラス(AI Analyze Class)2018の対応するメソッド内で利用される。この時のデータ移動に関しては、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010または個別デバイス対応マイクロサービス内制御クラス(Customins Class)2110の所定プログラムが制御と管理を行う。 The detection data of the sensor 802 acquired by the device control template class (Base Device Class) 2002 or the individual device control class (Custom Device Class) 2102 in FIG. used within the method. Data movement at this time is controlled and managed by a predetermined program of the microservice control template class (BaseIms Class) 2010 or the individual device corresponding microservice control class (Customins Class) 2110 .

またそれに限らずデバイス制御テンプレートクラス(Base Device Class)2002あるいは個別デバイス制御クラス(Custom Device Class)2102で取得したセンサ802の検出データを、一時的に(ストリームデータ一時保存用の)バッファメモリ2008に保存してもよい。そしてAIを用いた画像認識クラス(AI Analyze Class)2018の対応するメソッドが、そこから必要なデータを読み出して利用してもよい。 Not limited to this, the detection data of the sensor 802 acquired by the device control template class (Base Device Class) 2002 or the individual device control class (Custom Device Class) 2102 is temporarily stored in the buffer memory 2008 (for temporary storage of stream data). You may save. A corresponding method of the AI Analyze Class 2018 may then read and use the necessary data therefrom.

図13ではAI処理の一例として、専門の画像認識を行う画像認識クラス(AI Analyze Class)2018(データ解析処理プログラム)を配置した。しかしそれに限らず、例えばデータ制御機能やデータ操作機能、(インターネットを利用した)自動データ収集機能などあらゆる人工知能技術を利用した特定機能に特化した任意のAIクラス(AIプログラム)を基本制御用パッケージ2000に配置してもよい。 In FIG. 13, as an example of AI processing, an image recognition class (AI Analyze Class) 2018 (data analysis processing program) that performs specialized image recognition is arranged. However, not limited to that, for example, any AI class (AI program) that specializes in a specific function using any artificial intelligence technology such as data control function, data manipulation function, automatic data collection function (using the Internet) can be used for basic control It may be arranged in the package 2000 .

このように基本制御用パッケージ2000にデータ解析を専門に行うAIクラスを設けると、マイクロサービス80の内部で高度なデータ解析処理が実行可能となる。それによりマイクロサービス80の内部で処理したデータ解析結果のみをアプリケーション(IF-THEN)エンジン90を渡すことができるので、アプリケーション(IF-THEN)エンジン90の処理負担を大幅に軽減できる効果が生まれる。さらに人工知能技術を利用した特定機能に特化したAIクラス(AIプログラム)を基本制御用パッケージ2000に任意に配置できるので、マイクロサービス80の中で人工知能技術を利用した高度な処理が任意に可能となる。 If an AI class that specializes in data analysis is provided in the basic control package 2000 in this manner, advanced data analysis processing can be executed inside the microservice 80 . As a result, only the data analysis result processed inside the microservice 80 can be passed to the application (IF-THEN) engine 90, so that the processing load of the application (IF-THEN) engine 90 can be greatly reduced. Furthermore, AI classes (AI programs) specialized for specific functions using artificial intelligence technology can be arbitrarily placed in the basic control package 2000, so advanced processing using artificial intelligence technology can be performed arbitrarily in the microservice 80. It becomes possible.

クラウドサーバ2またはエッジコンピュータ6の外部にデバイス8が設置された場合には、マイクロサービス80は通信回線18を経由してデバイス8を制御する。ここで例えば通信回線18が混雑したり断線した場合には、デバイス8からの応答が戻るまでシステムがフリーズする危険性がある。 When the device 8 is installed outside the cloud server 2 or the edge computer 6, the microservice 80 controls the device 8 via the communication line 18. Here, for example, if the communication line 18 is congested or disconnected, there is a risk that the system will freeze until a response is returned from the device 8 .

これに対して応答時間監視クラス(Timeout Check Task Class)2006を設置すると、マイクロサービス80とデバイス8間の通信状況を監視できる。そして通信の不具合を察知して迅速な対応を取る事で、システム内のフリーズ状況を防止できる。 On the other hand, if a response time monitoring class (Timeout Check Task Class) 2006 is installed, the communication status between the microservice 80 and the device 8 can be monitored. And by detecting communication problems and taking prompt action, it is possible to prevent freezes in the system.

またセンサデバイス802の種別に拠っては、バイナリデータ(“1”か“0”の2値データ)から映像ストリームに至る多様なデータを扱う必要がある。ここでストリーム制御エンジンクラス(Stm Engine Class)2004を設ける事で、効率良く多様なデータを統合的に扱える効果が生まれる。なおこのストリーム制御エンジンクラス(Stm Engine Class)2004内部あるいはこれと同列位置にAI技術を用いたストリーム解析クラス/メソッドを配置してもよい。すなわち上述したように、インポート文を用いてAI技術を用いたストリーム解析クラスをストリーム制御エンジンクラス(Stm Engine Class)2004あるいはデバイス制御用テンプレートクラス(Base Device Class)2002(ストリーム制御エンジンクラス(Stm Engine Class)2004と同列位置に配置する場合)に組み込む。それに拠りストリーム制御エンジンクラス(Stm Engine Class)2004またはデバイス制御用テンプレートクラス(Base Device Class)2002で、AI技術を用いたストリーム解析クラス内の/メソッドの使用(呼び出し)が可能となる。 Also, depending on the type of the sensor device 802, it is necessary to handle various data ranging from binary data (binary data of "1" or "0") to video streams. By providing the stream control engine class (Stm Engine Class) 2004 here, the effect of efficiently handling diverse data in an integrated manner is produced. A stream analysis class/method using AI technology may be arranged inside this stream control engine class (Stm Engine Class) 2004 or at the same position as this. That is, as described above, a stream analysis class using AI technology is created using an import statement in the stream control engine class (Stm Engine Class) 2004 or the device control template class (Base Device Class) 2002 (stream control engine class (Stm Engine Class) 2002). Class) 2004 when placed in the same position). Accordingly, in the stream control engine class (Stm Engine Class) 2004 or the device control template class (Base Device Class) 2002, it is possible to use (call) /methods in the stream analysis class using AI technology.

これによりセンサデバイス802から得られた生のストリームデータをアプリケーション(IF-THEN)エンジン90に渡すだけでなく、ストリームデータを自動で解析した結果得られた解析結果情報のみをアプリケーション(IF-THEN)エンジン90に渡すことが可能となり、アプリケーション(IF-THEN)エンジン90の処理負荷を大幅に改善できる効果が生まれる。なおこの場合にはエッジコンピュータ6またはクラウドサーバ2内のデータ/情報記憶装置2に、センサデバイス802から得られた生のストリームデータを時系列ファイルとして順次保存してもよい。そしてAI技術を用いたストリーム解析クラスのメソッドは、適時時系列ファイル(生のストリームデータファイル)を再生する。そしてAI技術を用いたデータ解析で得られた解析情報を用いて特定の条件(IF)β判定を行ってもよい。 As a result, not only is the raw stream data obtained from the sensor device 802 passed to the application (IF-THEN) engine 90, but only the analysis result information obtained as a result of automatically analyzing the stream data is sent to the application (IF-THEN) engine. It becomes possible to pass the application (IF-THEN) engine 90, and the processing load of the application (IF-THEN) engine 90 can be greatly reduced. In this case, the data/information storage device 2 in the edge computer 6 or the cloud server 2 may sequentially store raw stream data obtained from the sensor device 802 as a time-series file. Then, the method of the stream analysis class using AI technology reproduces the time-series file (raw stream data file) at appropriate times. Then, a specific condition (IF) β determination may be performed using analysis information obtained by data analysis using AI technology.

図13に示すようにデバイス制御テンプレートクラス(Base Device Class)から、上述した応答時間監視クラス(TimeoutCheckTask Class)2006とストリーム制御エンジンクラス(StmEngine Class)2004の呼び出し/組み込み76が行える。この呼び出し/組み込み76処理の具体的方法は、上述した同じ方法が採用される。 As shown in FIG. 13, the response time monitoring class (TimeoutCheckTask Class) 2006 and the stream control engine class (StmEngine Class) 2004 can be called/installed 76 from the device control template class (Base Device Class). The specific method of this calling/inserting 76 process employs the same method as described above.

本実施形態において(Java言語などの)オブジェクト指向のプログラミング言語を用いてマイクロサービス80を記述すると、基本制御用パッケージ2000の既存のプログラム資産を個別デバイス制御用パッケージ2100で有効利用できる効果が生まれる。するとプログラマのマイクロサービス80開発効率が大幅に向上する。 In this embodiment, if the microservice 80 is described using an object-oriented programming language (such as Java language), there is an effect that the existing program assets of the basic control package 2000 can be effectively used in the individual device control package 2100 . Then, the programmer's microservice 80 development efficiency is greatly improved.

例えば個別デバイス対応マイクロサービス内制御クラス(Customins Class)2110と個別デバイス制御クラス(Custom Device Class)の前にインポート文を用いて
import [基本制御用パッケージ2000の名前].[異常検出クラス名(HealthCheckTask)]; と、
import [基本制御用パッケージ2000の名前].[応答時間監視クラス名(TimeoutCheckTask)]; 、
import [基本制御用パッケージ2000の名前].[ストリーム制御エンジンクラス名(StmEngine)];
を記述することで、各クラスに定義されているメソッドのプログラムを利用できる。
For example, using an import statement before the control class (Customins Class) 2110 in the microservice for individual devices and the control class (Custom Device Class) 2110 for individual devices
import [name of basic control package 2000].[abnormality detection class name (HealthCheckTask)];
import [name of basic control package 2000].[response time monitoring class name (TimeoutCheckTask)];
import [name of package 2000 for basic control].[stream control engine class name (StmEngine)];
can be used to program the methods defined in each class.

さらにアプリケーション(IF-THEN)エンジン90からのAPIコマンド(連携指定)75の送付先をマイクロサービス内制御テンプレートクラス(BaseIms Class)2010から個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110に変更する。 Furthermore, the destination of the API command (cooperation designation) 75 from the application (IF-THEN) engine 90 is changed from the microservice control template class (BaseIms Class) 2010 to the individual device compatible microservice control class (Customims Class) 2110. .

これら一連の処理(プログラム変更)の結果として実質的に、基本制御内パッケージ2000内対応クラスであるデバイス制御テンプレートクラス(Base Device Class)2002とマイクロサービス内制御テンプレート(BaseIms Class)2010を、個別デバイス制御用パッケージ2100の対応クラスである個別デバイス制御クラス(Custom Device Class)2102と個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110に差し替え使用71することになる。このようにオブジェクト指向のプログラミング言語を用いてマイクロサービス80を記述すると、非常にわずかな記載内容の変更だけでプログラム編集が容易かつ正確に行える効果がある。 As a result of this series of processing (program change), the device control template class (Base Device Class) 2002 and the microservice control template (BaseIms Class) 2010, which are corresponding classes in the basic control package 2000, are substantially converted into individual devices. An individual device control class (Custom Device Class) 2102 corresponding to the control package 2100 and a control class (Customims Class) 2110 in the microservice corresponding to the individual device are replaced and used 71 . If the microservice 80 is described using an object-oriented programming language in this way, there is an effect that the program can be edited easily and accurately with only a very slight change in the description.

図14を用いて、個別デバイス制御用パッケージで設定されるマイクロサービス80の機能を説明する。必須欄2204で丸が付いている3項目(初期化2210と終了2212、開始・停止2214)は、最低限必須な機能となる。そして残りの2項目(センサデータ送信2218とJOB(仕事)受信2220)は、対応するデバイス8の特性に拠っては不要な機能になり得る。 The functions of the microservice 80 set by the individual device control package will be described with reference to FIG. The three items circled in the mandatory column 2204 (initialization 2210, end 2212, start/stop 2214) are minimum essential functions. The remaining two items (sensor data transmission 2218 and job reception 2220) may be unnecessary functions depending on the characteristics of the corresponding device 8. FIG.

マイクロサービスの機能の中で初期化2210は、ifLinkアプリ(前述した用語の定義を参照)から起動された際に、ifLinkアプリとの接続やマイクロサービス80および制御するデバイス8を登録する機能を示す。 Initialization 2210 among the functions of the microservice indicates the function of connecting with the ifLink application and registering the microservice 80 and the device 8 to be controlled when started from the ifLink application (see the definition of terms above). .

終了2212の機能は、ifLinkアプリから終了された際に、ifLinkアプリとの接続やマイクロサービス80および制御するデバイス8を切断、終了する機能である。 The function of termination 2212 is a function of disconnecting and terminating the connection with the ifLink application, the microservice 80 and the device 8 to be controlled when the ifLink application is terminated.

開始・停止2214の機能は、アプリケーション(IF-THEN)ルール70として登録されているデバイス8のルールが有効または無効になった場合に、デバイス8の開始または停止を行う機能である。 A function of the start/stop 2214 is a function of starting or stopping the device 8 when the rule of the device 8 registered as the application (IF-THEN) rule 70 is enabled or disabled.

次に状態通知2216の機能の説明を行う。ifLinkアプリでは、登録されているデバイスの状態を管理している。この状態通知2216は、ifLinkアプリで管理しているデバイス8の状態を更新するためにifLinkアプリへ通知する機能を示す。 Next, the function of the status notification 2216 will be described. The ifLink application manages the status of registered devices. This status notification 2216 indicates a function of notifying the ifLink application to update the status of the device 8 managed by the ifLink application.

センサデータ送信2218の機能は、制御するデバイス8から送られるセンサデータをifLinkアプリへ送信する機能である。 A function of the sensor data transmission 2218 is a function of transmitting sensor data sent from the device 8 to be controlled to the ifLink application.

最後にJOB受信2220の機能に付いて説明する。IfLinkアプリを経由して、クラウドサーバ2もしくはアプリケーション(IF-THEN)エンジン90からJOBの内容(操作内容の指示/API)が通知される。このJOB受信2220は、IfLinkアプリから通視されるJOB情報を処理する機能である。 Finally, the function of JOB reception 2220 will be explained. Via the IfLink application, the cloud server 2 or the application (IF-THEN) engine 90 notifies the content of the JOB (instruction of operation content/API). This JOB reception 2220 is a function of processing JOB information viewed from the IfLink application.

図15は、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010あるいは個別デバイス対応マイクロサービス内制御クラス(Customims Class)が提供するAPIの一覧を示す。すなわちマイクロサービス内制御テンプレートクラス(BaseIms Class)2010に、図15で示した各制御用メソッドを記述(配置)する。つまり図15のメソッド・関数欄2302に記載した各制御用メソッドが、マイクロサービス80に標準装備されている必要がある。 FIG. 15 shows a list of APIs provided by the microservice control template class (BaseIms Class) 2010 or the individual device corresponding microservice control class (Customims Class). That is, each control method shown in FIG. 15 is described (arranged) in the microservice control template class (BaseIms Class) 2010 . In other words, each control method described in the method/function column 2302 in FIG.

メソッド・関数欄2302に記載した各制御用メソッドの先頭に記載されている“void”や“int”は、制御用メソッドの戻り値のタイプ(形式/型)を表す。例えば所定のクラスまたは所定のメソッドからこの制御用メソッドを呼び出し76で使用した場合、この制御用メソッドの処理終了後に「どんなタイプのデータが使用しているクラスやメソッドに戻ってくるか?」を示す。 "void" and "int" described at the head of each control method described in the method/function column 2302 represent the return value type (form/type) of the control method. For example, when this control method is used in a call 76 from a predetermined class or method, after the processing of this control method is completed, "What type of data will be returned to the class or method used?" show.

例えば“void”の文字が最初に記載された制御用メソッドでは、「戻り値無し」(すなわち制御用メソッドの処理終了後は、特定のデータは使用しているクラスやメソッドに戻って来ない)の状態を示す。 For example, a control method that starts with the word "void" will have "no return value" (that is, no specific data will be returned to the using class or method after the control method has finished processing). indicates the state of

同様に“int”や“long”の文字が最初に記載された制御用メソッドでは、「サイズが32ビットや64ビットの範囲の整数」が制御用メソッドの処理終了後に戻ってくる。 Similarly, in a control method in which the character "int" or "long" is described first, "an integer whose size is in the range of 32 bits or 64 bits" is returned after processing of the control method ends.

そして“boolean”の文字が最初に記載された制御用メソッドでは、「“true”もしくは“false”の真偽値」が制御用メソッドの処理終了後に戻ってくる。 Then, in the control method in which the character "boolean" is written first, the "truth value of 'true' or 'false'" is returned after the processing of the control method is completed.

また制御用メソッドの括弧内では、制御用メソッドに引き継がれる“引数のタイプ(形式/型)”と“引数”が、“スペース”を挟んで組となって記載されている。ここで複数の“引数”が引き継がれる場合には、引数の組の間に“,”(カンマ)が配置される。 Also, in the parentheses of the control method, the "argument type (format/type)" and the "argument" to be handed over to the control method are described as a set with a "space" between them. If multiple "arguments" are inherited here, a "," (comma) is placed between the set of arguments.

この引数のタイプ(形式/型)として“String”は、「文字列」を表す。また“Map”とは、キーと値がペアで格納される“キー/バリュー形データベース”を表す。そして“HashMap”は、上記“キー/バリュー形データベース”あるいはその仕組みを使ったクラス(HashMap Class)を意味する。このようにデバイス8の制御に“キー/バリュー形データベース”を使用することで、異なる制御用パッケージを跨ったメソッド間でのデータ/情報の共有化が図AAれる効果が生まれる。さらにこのデータ/情報の保存形式として“キー/バリュー形データベース”を用いることで、データ検索の利便性が向上する。 "String" as the type (format/type) of this argument represents "character string". "Map" represents a "key/value database" in which key and value pairs are stored. "HashMap" means the class (HashMap Class) using the above-mentioned "key/value type database" or its mechanism. By using the "key/value type database" for controlling the device 8 in this way, there is an effect that data/information can be shared between methods across different control packages. Furthermore, by using a "key/value type database" as the data/information storage format, the convenience of data retrieval is improved.

また“Message”とは、アプリケーション(IF-THEN)エンジン90宛やifLinkアプリ宛に直接送信できる“メッセージ”を意味する。また図15で記載された“コンストラクタ”に付いては、[制御用クラス]に関する用語の定義で既に説明した。 "Message" means a "message" that can be directly sent to the application (IF-THEN) engine 90 or ifLink application. Also, the "constructor" described in FIG. 15 has already been explained in the definition of terms related to [control class].

図15で記載される“EPA”や“epa”“Epa”とは、“End Point Access”の略称で、アプリケーション(IF-THEN)エンジン90やifLinkアプリの事を指し示す。これに関係して図15の28番目に“void onActivationResult(boolean result, EPADevice device)”が記載されている。この処理概要2304は、“ifLinkアプリからのサービスの登録結果通知”と記載されている。ここで引数として、“引数のタイプ(形式/型)”に“EPADevice”が、“引数”として“device”が指定されている。ここで言う“サービスの登録”とは、“アプリケーション(IF-THEN)ルール70が操作するデバイス8の登録”を意味する。そしてその結果が“result”という引数に入る。ここで“登録できた”場合には、“result”に“true”が入力されて戻る。一方で“登録できなかった”場合には、“result”に“false”が入力されて戻る。上記引数の“device”は、“device”と言う識別情報が設定された特定のデバイス8を意味する。そしてその“引数のタイプ(形式/型)”を指定する“EPADevice”とは、“アプリケーション(IF-THEN)エンジン90またはifLinkアプリが識別できるデバイス8”を意味する。 "EPA", "epa", and "Epa" described in FIG. 15 are abbreviations of "End Point Access" and indicate the application (IF-THEN) engine 90 and ifLink application. In relation to this, "void onActivationResult (boolean result, EPADevice device)" is described at the 28th position in FIG. This process outline 2304 describes "registration result notification of service from ifLink application". Here, as an argument, "EPADevice" is specified as the "argument type (form/type)" and "device" is specified as the "argument". "Service registration" here means "registration of the device 8 operated by the application (IF-THEN) rule 70". And the result is in the argument "result". If "registration was successful" here, "true" is entered in "result" and returned. On the other hand, if "registration failed", "false" is entered in "result" and returned. The above argument "device" means a specific device 8 for which identification information "device" is set. "EPADevice" specifying the "argument type (form/form)" means "the device 8 that can be identified by the application (IF-THEN) engine 90 or ifLink application".

本実施形態で使用するデバイス8には、携帯形デバイス8も含まれる。従ってアプリケーション(IF-THEN)ルール70に従って携帯形デバイス8の操作を試みた時、対象となる携帯形デバイス8が操作領域外に持ち出されるケースが多発する。従ってユーザに対するサービス提供に先立って、対象となる携帯形デバイス8が操作領域に存在するか否かを事前に確認する必要がある。それには操作領域に存在するか否かを事前に確認すべき携帯形デバイス8の事前登録が必要となる。 The devices 8 used in this embodiment also include portable devices 8 . Therefore, when attempting to operate the portable device 8 according to the application (IF-THEN) rule 70, there are many cases where the target portable device 8 is taken out of the operation area. Therefore, before providing the service to the user, it is necessary to confirm in advance whether the target portable device 8 exists in the operation area. This requires pre-registration of the portable device 8 whose presence in the operation area should be confirmed in advance.

その事前登録のため、11番目または12番目に記載したコールバック登録の“void registerCallback()”や“void registerCallback(String cookie)”を行う。また操作領域に存在するか否かの事前確認が不要になった携帯形デバイス8に対しては、
13番目に記載したコールバック解除の“void unregisterCallback()”を行う。
For the pre-registration, the callback registration "void registerCallback( )" or "void registerCallback (String cookie)" described in the 11th or 12th item is performed. Also, for the portable device 8 that does not require prior confirmation of whether it exists in the operation area,
Execute “void unregisterCallback()” for canceling the callback described in the thirteenth.

そして対象となるデバイス8の事前確認が行えた場合には、14番目の“boolean createDevice()”を用いて“デバイス登録”を行う。逆に事前確認が出来なかったデバイス8に対しては、15番目の“boolean deleteDevice()”で“デバイス解除”を行う。 When the target device 8 is confirmed in advance, the 14th "boolean createDevice( )" is used to perform "device registration". Conversely, for the device 8 that could not be pre-confirmed, the fifteenth "boolean deleteDevice()" is used to "delete the device".

またユーザにサービス提供途中で例えば、特定デバイス8の電池切れなどでサービス継続が難しくなる場合が生じる。この状況に対応するため、21番目の“void startHealthCheck(long interval)”でデバイス8毎の“ヘルスチェック開始”を行える。このメソッドでは“連続したヘルスチェック”の代わりに、“interval”で指定した一定周期毎のチェックを行ってもよい。 Further, in the middle of providing the service to the user, it may become difficult to continue the service due to, for example, the battery of the specific device 8 running out. In order to deal with this situation, the 21st "void startHealthCheck (long interval)" can be used to "start health check" for each device 8. FIG. In this method, instead of "continuous health checks", checks can be performed at regular intervals specified by "interval".

そしてトラブルが発生した時には、マイクロサービス80からアプリケーション(IF-THEN)エンジン90あるいはifLinkアプリに対して『警告通知』が必要となる。この場合には、17番目の“int send_alert(-)”のメソッドを動作させて“アラート送信”が行える。 When a trouble occurs, a "warning notification" is required from the microservice 80 to the application (IF-THEN) engine 90 or ifLink application. In this case, "alert transmission" can be performed by operating the 17th "int send_alert(-)" method.

本実施形態で行われる高熱者検出の中で、アプリケーション(IF-THEN)エンジン90からセンサマイクロサービス80Aと赤外線カメラマイクロサービス80Cに要求される機能として、
a)高熱者の検出(発見) と
b)ユーザへの通知に必要な情報の提供
の2種類が存在する。
Among the high fever detection performed in this embodiment, the functions required from the application (IF-THEN) engine 90 to the sensor microservice 80A and the infrared camera microservice 80C are as follows:
There are two types: a) detection (discovery) of a high fever person and b) provision of information necessary for notifying the user.

例えば図6の利用場面例(ユースケース)では“a)高熱者を検出(発見)”場合には、表示画面12上に“検出した高熱者を斜線表示”してユーザに警告している。このように“検出した高熱者を可視化”するために必要な“b)情報の提供”が必要となる。ところでこの“検出した高熱者を斜線表示した画像”は、AIを用いた画像認識クラス(AI Analyze Class)2018で生成される。 For example, in the example of use scene (use case) in FIG. 6, in the case of "a) high fever detected (discovered)", the display screen 12 warns the user by "diagonally displaying the detected high fever". In this way, "b) provision of information" necessary for "visualizing the detected high fever person" is required. By the way, this “image in which the detected high fever person is displayed with diagonal lines” is generated by the image recognition class (AI Analyze Class) 2018 using AI.

このような場合には、上記(a)と(b)では、アプリケーション(IF-THEN)エンジン90に提供するデータの形式(制御用メソッドの戻り値のタイプ(形式/型))が異なる。 In such a case, the above (a) and (b) differ in the format of the data provided to the application (IF-THEN) engine 90 (the type (format/type) of the return value of the control method).

このような状況に柔軟に対応するため、アプリケーション(IF-THEN)エンジン90から対応するマイクロサービス80A、80Cに対して、“送信回答するデータフォーマット”を指定する必要がある。 In order to respond flexibly to such a situation, it is necessary to specify the "transmit response data format" from the application (IF-THEN) engine 90 to the corresponding microservices 80A and 80C.

そのためマイクロサービス内制御テンプレートクラス(BaseIms Class)2010あるいは個別デバイス対応マイクロサービス内制御クラス(Customims Class)が提供するAPIとして、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010あるいは個別デバイス対応マイクロサービス内制御クラス(Customims Class)の対応メソッドから送信するデータフォーマットを指定するvoid setSendDataFormat(String format) が必要となる。 Therefore, as an API provided by the microservice control template class (BaseIms Class) 2010 or the individual device compatible microservice control class (Customims Class), the microservice control template class (BaseIms Class) 2010 or the individual device compatible microservice control Requires void setSendDataFormat(String format) to specify the data format to send from the corresponding method of the class (Customims Class).

このAPIの引数 format のデータタイプ(形式/型)は String(文字列)で設定されている。つまりテキスト形式で送信するデータフォーマットが、アプリケーション(IF-THEN)エンジン90から指定される。 The data type (format/type) of the argument format of this API is set as String (character string). That is, the application (IF-THEN) engine 90 designates the data format to be transmitted in text format.

ここで上記の“a)高熱者の検出(発見)結果報告”では、多量のデータが不必要となる。この場合のデータ送信処理には long send_data(Map map) が利用され、『高熱者が何人検出(発見)された』という情報がアプリケーション(IF-THEN)エンジン90に回答される。もし高熱者が検出できなかった場合でも、『高熱者が“0”人検出(発見)された』と回答させてもよい。このAPIで指定された Map とは、『キーと値のペアが集合されたデータ』の形式を意味する。 Here, a large amount of data is unnecessary in the above-mentioned "a) report of detection (discovery) result of hyperthermia". In this case, long send_data(Map map) is used for the data transmission process, and the application (IF-THEN) engine 90 is answered with the information "how many people with high fever have been detected (discovered)". Even if a person with high fever cannot be detected, the answer may be that "0 persons with high fever have been detected (discovered)." The Map specified by this API means the format of "data in which key-value pairs are aggregated".

すなわちアプリケーション(IF-THEN)エンジン90が対応するマイクロサービス80A、80Cに対して“a)高熱者の検出(発見)結果報告”を要求する場合には、最初に void setSendDataFormat(String format) のAPIコマンドを発行して、『高熱者人数を算出するための画像認識処理』を実行させる。そして次に long send_data(Map map) のAPIコマンドを発行して、“a)高熱者の検出(発見)結果報告”をさせる。 That is, when the application (IF-THEN) engine 90 requests the corresponding microservices 80A and 80C to "a) report the detection (discovery) result of a hyperthermia person", first, the void setSendDataFormat(String format) API Issue a command to execute "image recognition processing for calculating the number of people with high fever". Then, an API command of long send_data(Map map) is issued, and "a) high fever person detection (discovery) result report" is performed.

ここで高熱者を検出(発見)された場合には、アプリケーション(IF-THEN)エンジン90が対応するマイクロサービス80A、80Cに対して“b)ユーザへの通知に必要な情報の提供”を要求する。この時も void setSendDataFormat(String format) のAPIコマンドを発行するが、要求内容の違いを引数 format の中にテキスト形式で指定する。 If a person with high fever is detected (discovered) here, the application (IF-THEN) engine 90 requests the corresponding microservices 80A and 80C to "b) provide information necessary for notifying the user". do. At this time as well, an API command of void setSendDataFormat(String format) is issued, but the difference in request content is specified in text format in the argument format.

図6の利用場面例(ユースケース)から容易に分かるように、“b)ユーザへの通知に必要な情報”の形式として映像や静止画像などのストリームデータを含むことがある。また映像や静止画、音声情報などのストリームデータには、多くの異なるデータ圧縮方式が存在する。従ってアプリケーション(IF-THEN)エンジン90から発行される void setSendDataFormat(String format) の引数format の中で、データ種別やデータ圧縮方式、必要なストリームデータの内容とその表示形式(例えば高熱者のみに斜線を引いて明示するなど)が指定される。 As can be easily understood from the usage scene example (use case) in FIG. 6, the format of "b) information necessary for notification to the user" may include stream data such as video and still images. There are many different data compression methods for stream data such as video, still images, and audio information. Therefore, in the argument format of void setSendDataFormat(String format) issued from the application (IF-THEN) engine 90, data type, data compression method, contents of necessary stream data and its display format ) is specified.

そして例えば映像情報を要求する場合には、アプリケーション(IF-THEN)エンジン90から Stream send_data(Stream movie) のAPIコマンドが発行される。ここで Stream とは“ストリーム形式のデータ”を意味し、映像情報が movie に入る。 For example, when requesting video information, the application (IF-THEN) engine 90 issues a Stream send_data (Stream movie) API command. Here, Stream means "data in stream format", and video information is included in movie.

一方で静止画像の情報を要求する場合には、Stream send_data(Stream image, long time) のAPIコマンドを発行する。この場合には静止画像情報が、image に入る。ここで time の情報で、“静止画像情報をキャプチャーする(取り込む)時刻”が設定できる。 On the other hand, when requesting still image information, an API command of Stream send_data (Stream image, long time) is issued. In this case the still image information goes into image. Here, the time information can be used to set the "time to capture (take in) still image information".

図6の利用場面例(ユースケース)から容易に分かるように、ユーザへの通知に画像(映像または静止画像)を使用する場合がある。このユーザに通知する画像をアプリケーション(IF-THEN)エンジン90または検知時動作設定部140に関係するマイクロサービス80H、80F側で生成させると、生成処理に多大な負荷が掛かる。 As can be easily understood from the usage scene example (use case) in FIG. 6, there are cases where an image (video or still image) is used for notification to the user. If the image to be notified to the user is generated by the application (IF-THEN) engine 90 or the microservices 80H and 80F related to the detection operation setting unit 140, the generation processing will be heavily loaded.

本実施形態のように条件(IF)72(図11)側に関係したマイクロサービス80A、80C側で“b)ユーザへの通知に必要な情報の提供”をさせることで、高熱者検出装置(あるいは高熱者検出システム全体)の処理負荷を低減できる効果が生まれる。 As in the present embodiment, the microservices 80A and 80C related to the condition (IF) 72 (FIG. 11) are caused to "b) provide information necessary for notification to the user", so that the high fever detection device ( Alternatively, there is an effect that the processing load of the entire high fever person detection system) can be reduced.

図16に、デバイス制御テンプレートクラス(Base Device Class)あるいは個別デバイス制御クラス(Custom Device Class)が提供する(アプリケーション(IF-THEN)エンジン90からコマンド発行される)APIの一覧を示す。記載ルールは、図15と同じである。 FIG. 16 shows a list of APIs (commands issued from the application (IF-THEN) engine 90) provided by the device control template class (Base Device Class) or the individual device control class (Custom Device Class). Description rules are the same as those in FIG.

アプリケーションルール70は基本的に、所定の条件(IF)72に応じた所定の実行(THEN)78の組み合わせで構成される。例えばユーザ環境の温湿度や照度が刻々と変化するように、この条件(IF)72判定の対象となる認識可能な実体/状態/情報7は時々刻々と変化する。この時間変化に対応できるように本実施形態では、“キー/バリュー形データベース”に対応する“HashMap”上へ、認識可能な実体/状態/情報7を時系列的に記録できるようにしている。 Application rules 70 are basically composed of combinations of predetermined executions (THEN) 78 according to predetermined conditions (IF) 72 . For example, the recognizable entity/state/information 7 subject to this condition (IF) 72 determination changes every moment, just like the temperature, humidity, and illuminance of the user's environment change every moment. In order to cope with this time change, in this embodiment, recognizable entities/states/information 7 can be recorded chronologically on a "HashMap" corresponding to a "key/value type database".

例えば現在の認識可能な実体/状態/情報7の取得(すなわち例えばセンサデバイス802から得られるセンサデータの取得)を行いたい場合には、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010から“HashMap createSensorData()”を呼び出し76て、“センサデータの生成”を行う。一方で指定時刻での“センサデータの生成”を行いたい場合には、“HashMap createSensorData(long time)”の引数“time”に、データを得る時の指定時刻を設定する。また特定の時間間隔でデータ取得(=“センサデータの生成”)を行いたい場合には、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010のプログラムで特定時間間隔に合わせたデータ取得時刻を自動算出する。そしてその自動算出して得られた時刻を、“HashMap createSensorData(long time)”の引数“time”に順次指定する。 For example, if you want to acquire the current recognizable entity/state/information 7 (that is, for example, to acquire sensor data obtained from the sensor device 802), from the microservice control template class (BaseIms Class) 2010 "HashMap createSensorData ( )” is called 76 to perform “sensor data generation”. On the other hand, if you want to “generate sensor data” at a specified time, set the specified time for obtaining data to the argument “time” of “HashMap createSensorData(long time)”. Also, if you want to acquire data (= "generate sensor data") at a specific time interval, the program of the control template class (BaseIms Class) 2010 in the microservice automatically calculates the data acquisition time according to the specific time interval. do. Then, the time obtained by the automatic calculation is sequentially specified as the argument "time" of "HashMap createSensorData(long time)".

そうして時系列的に蓄積されたセンサデータ(認識可能な実体/状態/情報7の内容)は“long sendSensor(Map map)”を利用して、デバイス制御テンプレートクラス(Base Device Class)2002からマイクロサービス内制御テンプレートクラス(BaseIms Class)2010へ向けて“センサデータの送信”が行われる。 The sensor data (recognizable entity/status/contents of information 7) thus accumulated in time series is sent from the device control template class (Base Device Class) 2002 using "long sendSensor (Map map)". “Send sensor data” is performed toward the microservice control template class (BaseIms Class) 2010 .

図16では一例として、センサデバイス802に対応するデバイス制御テンプレートクラス(Base Device Class)2002の制御クラスの一覧を示した。しかしそれに限らず図7に示すように、携帯端末デバイス808やHMDデバイス810、IoT機器デバイス820に含まれる各種ロボット(あるいは駆動機構)などの制御が必要となる。従って図16に記載した内容に限らず処理概要2304として例えば、“駆動実行”や予め指定された“画面/映像の表示”などが含まれる。 FIG. 16 shows a list of control classes of the device control template class (Base Device Class) 2002 corresponding to the sensor device 802 as an example. However, as shown in FIG. 7, it is necessary to control various robots (or drive mechanisms) included in the mobile terminal device 808, the HMD device 810, and the IoT equipment device 820. FIG. Therefore, not only the contents described in FIG. 16, but also the processing outline 2304 includes, for example, "execution of driving" and "display of screen/image" designated in advance.

また各種デバイス8がエッジコンピュータ6やクラウドサーバ2の外部に配置された場合には、デバイス8と対応するマイクロサービス80間での通信制御が必要となる。図16に示した制御メソッドのソースコードの説明をここでは省略するが、通信制御に必要な制御もソースコードの中に記述されても良い。例えば“java(登録商標).net”パッケージの“Socketlmpl Class”を組み込む76と、IPアドレスレベルでデバイス8に対する通信制御が可能となる。具体的には、デバイス制御テンプレートクラス(Base Device Class)の前に
import java.net.Socketlmpl;
を記述する。それに拠り、Socketlmpl Class の基本的通信制御を行う各種メソッドを使う事が可能となる。
Also, when various devices 8 are arranged outside the edge computer 6 or the cloud server 2, communication control between the devices 8 and the corresponding microservices 80 is required. Although description of the source code of the control method shown in FIG. 16 is omitted here, the control required for communication control may also be described in the source code. For example, when the "Socketlmpl Class" of the "java (registered trademark).net" package is incorporated 76, communication control for the device 8 becomes possible at the IP address level. Specifically, before the device control template class (Base Device Class)
import java.net.Socketlmpl;
describe. Based on this, it is possible to use various methods that perform basic communication control of the Socketlmpl Class.

図15の void setSendDataFormat(String format) に対応した機能である HashMap setDeviceData(HashMap map, long time) を利用して、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010あるいは個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110からセンサデータの設定が行われる。この時に利用される引数 map において、「映像を収集するか?」や「静止画像を収集するか?」などのセンサデータの種別などが設定される。またこの引数 time は、静止画像をキャプチャー(取得)する時刻を示す。 Using HashMap setDeviceData(HashMap map, long time), which is a function corresponding to void setSendDataFormat(String format) in Fig. 15, the microservice control template class (BaseIms Class) 2010 or the microservice control class for individual devices ( Customs Class) 2110 sets sensor data. In the argument map used at this time, the type of sensor data such as "Do you want to collect video?" or "Do you want to collect still images?" Also, this argument time indicates the time to capture (acquire) the still image.

もし映像を収集したい場合には、最初に Stream createSensorData() をコマンド発行して対応するセンサ802や赤外線カメラ806に映像を収集させる。その途中でセンサ802や赤外線カメラ806の収集を中止させたい場合には、 void removeCreateSensorData() のAPIコマンドを発行してセンサデータ生成の中止(解除)をさせる。その後に Stream sendSensor(Stream movie) を発行すると、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010あるいは個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110の他のプログラム(メソッド)で収集映像の利用が可能となる。 If it is desired to collect an image, first issue a command Stream createSensorData( ) to cause the corresponding sensor 802 or infrared camera 806 to collect the image. If it is desired to stop the collection of the sensor 802 or the infrared camera 806 in the middle of the process, an API command void removeCreateSensorData( ) is issued to stop (cancel) the sensor data generation. After that, when Stream sendSensor (Stream movie) is issued, the collected video can be used in other programs (methods) of the microservice control template class (BaseIms Class) 2010 or the individual device compatible microservice control class (Customims Class) 2110. It becomes possible.

また静止画像を収集したい場合には、最初に Stream createSensorData(long time) をコマンド発行して対応するセンサ802や赤外線カメラ806に静止画像を収集させる。その後に Stream sendSensor(Stream image, long time) を発行すると、マイクロサービス内制御テンプレートクラス(BaseIms Class)2010あるいは個別デバイス対応マイクロサービス内制御クラス(Customims Class)2110の他のプログラム(メソッド)で収集静止画の利用が可能となる。 If a still image is to be collected, a command Stream createSensorData(long time) is first issued to cause the corresponding sensor 802 or infrared camera 806 to collect a still image. After that, when Stream sendSensor (Stream image, long time) is issued, the collection is stopped by another program (method) of the microservice control template class (BaseIms Class) 2010 or the individual device corresponding microservice control class (Customims Class) 2110. Images can be used.

図17を用いて、本実施形態におけるデバイス8の状態遷移を、説明する。デバイス8の状態に関しては、停止状態2400と動作状態2402、実行中2408、準備状態2410、エラー発生状態2414の5状態が定義される。 State transitions of the device 8 in this embodiment will be described with reference to FIG. Regarding the state of the device 8, five states are defined: stop state 2400, operation state 2402, running state 2408, preparation state 2410, and error occurrence state 2414. FIG.

デバイス8の制御開始2300直後は、停止状態2400となっている。そしてマイクロサービス80によるデバイス制御の起動を意味する“createDevice()”(図15の14番目参照)が実行2502されると、デバイス8は動作状態2402に移る。ここで“createDevice()”の応答2506が失敗2510すると、エラー発生状態2414となり、ifLinkアプリの切断2500のタイミングで停止状態2400に戻る。またデバイス8が動作状態2402の時でもifLinkアプリの切断2500が起きると、デバイス8は停止状態2400に戻る。 Immediately after the device 8 starts controlling 2300 , it is in a stopped state 2400 . Then, when “createDevice( )” (see 14th in FIG. 15), which means activation of device control by the microservice 80 , is executed 2502 , the device 8 shifts to the operating state 2402 . Here, if the response 2506 of “createDevice( )” fails 2510 , an error occurrence state 2414 is entered, and the stop state 2400 returns at the timing of disconnection 2500 of the ifLink application. Also, if the ifLink app disconnection 2500 occurs while the device 8 is in the running state 2402 , the device 8 returns to the stopped state 2400 .

一方で“createDevice()”の応答2506が成功2512すると、デバイス8は準備状態2410に入る。そしてアプリケーション(IF-THEN)エンジン90からの動作指示2508が来ると、デバイスは動作開始して実行中2408となる。ここでアプリケーション(IF-THEN)エンジン90からの停止指示2504が来るとデバイス動作は停止し、デバイス8は準備状態2410に戻る。またデバイス8が準備状態2410と実行中2408のいずれの状態でも、ifLinkアプリが切断されると、デバイス8は停止状態2400になる。 On the other hand, if the “createDevice( )” response 2506 is successful 2512 , device 8 enters ready state 2410 . Then, when an operation instruction 2508 is received from the application (IF-THEN) engine 90, the device starts operating and becomes running 2408. FIG. Here, when a stop instruction 2504 from the application (IF-THEN) engine 90 arrives, the device operation stops and the device 8 returns to the ready state 2410. FIG. Further, when the ifLink application is disconnected, the device 8 enters the stop state 2400 regardless of whether the device 8 is in the ready state 2410 or the running state 2408 .

そしてデバイス8の実行中2408にデバイス動作が失敗2530すると、デバイス動作開始のリトライ2530が必要となるため、デバイス8はエラー発生状態2414となる。同様にデバイス8実行中2408のデバイス8からの応答が無い時間が長くなるとタイムアウト2520が発生し、デバイス8はエラー発生状態2414となる。 If the device operation fails 2530 during execution 2408 of the device 8, a retry 2530 to start the device operation is required, so the device 8 enters an error occurrence state 2414. FIG. Similarly, if the device 8 is running 2408 and there is no response from the device 8 for a long period of time, a timeout 2520 occurs and the device 8 enters an error occurrence state 2414 .

所定機能を実現するモジュール9を、デバイス8(あるいは人間が認識可能な実体/状態/情報7)とそれを制御するマイクロサービス80(あるいは制御手段4)を分離した。それに拠り、デバイス8の状態とマイクロサービス80の状態を分離して管理できる。一方でユーザへのサービス実行中に、ユーザが『アプリケーション(IF-THEN)ルール70の内容を変更』する(すなわちアプリケーション(IF-THEN)ルール70から操作するデバイス8が急に変更される)ことがある。このようにデバイス8の状態とマイクロサービス80の状態を分離して管理すると、ユーザが行う『アプリケーション(IF-THEN)ルール70の変更』に対してリアルタイムの変更が容易となる効果がある。 A module 9 that implements a predetermined function is separated into a device 8 (or a human-recognizable entity/state/information 7) and a microservice 80 (or control means 4) that controls it. Accordingly, the state of the device 8 and the state of the microservice 80 can be managed separately. On the other hand, the user "changes the contents of the application (IF-THEN) rule 70" (that is, the device 8 operated by the application (IF-THEN) rule 70 is suddenly changed) during execution of the service to the user. There is If the state of the device 8 and the state of the microservice 80 are separately managed in this way, there is an effect that real-time changes can be easily made in response to "change of the application (IF-THEN) rule 70" performed by the user.

図18に示すように、本実施形態におけるマイクロサービス80の状態としては、静止状態2400と接続中2412、動作状態2402、デバイス制御2404、開始2300、エラー発生2414の6状態を定義できる。そして図18に示すように、マイクロサービス80の状態とデバイス8の状態との間の関係が成立する。
図19は黒体輻射光源から放射される輻射光の光源温度と分光放射輝度との関係を示す。所定温度を有する全て物体は、その温度に応じた電磁波(黒体輻射光)を放射することが知られている。従ってそこから放射される黒体輻射光の分光特性を測定することで、黒体輻射光源の温度が分かる。
As shown in FIG. 18, six states of a static state 2400, connecting 2412, operating state 2402, device control 2404, start 2300, and error occurrence 2414 can be defined as states of the microservice 80 in this embodiment. Then, as shown in FIG. 18, a relationship between the state of the microservice 80 and the state of the device 8 is established.
FIG. 19 shows the relationship between the light source temperature and spectral radiance of radiant light emitted from a blackbody radiation source. It is known that all objects having a given temperature radiate electromagnetic waves (blackbody radiation) corresponding to the temperature. Therefore, by measuring the spectral characteristics of the blackbody radiation emitted therefrom, the temperature of the blackbody radiation source can be determined.

図19の分光特性図から所定波長14の電磁波のみを抽出した場合、黒体輻射光源の温度で放射輝度が変化することが分かる。サーモグラフィ技術では、測定対象物から放射される輻射光の中で所定波長14の電磁波のみを抽出し、その抽出電磁波強度から測定対象物の温度を測定する。 From the spectral characteristic diagram of FIG. 19, it can be seen that the radiance changes with the temperature of the black body radiation source when only the electromagnetic wave with the predetermined wavelength 14 is extracted. In the thermography technique, only electromagnetic waves with a predetermined wavelength 14 are extracted from the radiant light emitted from the object to be measured, and the temperature of the object to be measured is measured from the intensity of the extracted electromagnetic waves.

このサーモグラフィ技術を用いて人物の頭皮表面温度を測定する場合、黒体輻射光の光路途中の毛髪で光散乱を受ける。したがって人物頭部の中で髪の毛が多く分布する場所(頭部の後ろ側など)での頭皮表面温度の測定は、大幅に測定精度が低下する(毛髪での光散乱ロスの影響で実際より低い温度が計測される)。そのためサーモグラフィ技術を用いて人物の頭皮表面温度を測定するには、毛髪分布が少ない顔面での測定が望ましい。 When the thermography technique is used to measure the scalp surface temperature of a person, the hair in the optical path of the black body radiation light scatters the light. Therefore, when measuring the scalp surface temperature in a place where a lot of hair is distributed in the human head (such as the back of the head), the measurement accuracy is greatly reduced (lower than the actual temperature due to the light scattering loss in the hair). temperature is measured). Therefore, in order to measure the scalp surface temperature of a person using the thermography technique, it is desirable to measure the face where the hair distribution is small.

また赤外線カメラ806で検出される所定波長14の電磁波強度は、測定対象物から赤外線カメラ806までの距離の二乗に反比例する。従ってサーモグラフィ技術を用いた被測定対象物の表面温度測定では、測定対象物から赤外線カメラ806までの距離の増加に従って検出温度の低下が生じる。 Also, the intensity of the electromagnetic wave of the predetermined wavelength 14 detected by the infrared camera 806 is inversely proportional to the square of the distance from the object to be measured to the infrared camera 806 . Therefore, when measuring the surface temperature of an object to be measured using thermography technology, the detected temperature decreases as the distance from the object to be measured to the infrared camera 806 increases.

サーモグラフィ技術を用いて人物頭部の体温を精度良く測定する時の注意点として、上記の
1)顔面(頭部の前面で、頭皮の露出場所)測定
2)測定対象物と赤外線カメラ806間の距離考慮
に加えて
3)水分吸収(顔表面の汗と湿度の影響)と温度測定に使用する波長との関係
4)赤外線カメラ806自体の温度依存性を持った暗電流の影響除去
も考慮する必要がある。
As points to note when measuring the body temperature of a person's head with high accuracy using thermography technology, the above 1) face (in front of the head, where the scalp is exposed) measurement 2) measurement between the measurement object and the infrared camera 806 In addition to consideration of distance, 3) relationship between moisture absorption (effect of sweat and humidity on the face surface) and wavelength used for temperature measurement, and 4) removal of influence of dark current having temperature dependence of infrared camera 806 itself is also considered. There is a need.

図19に示した特性から、人の体温測定には2.5μmから20μmの範囲の波長域光を使用するのが望ましい事を既に説明した。ところでこの範囲の光では、中心波長が2.955μm近傍と6.100μm近傍で大きな水の吸収ピークが見られる。さらに6.9μmより長い波長域では、波長が増加するに従って水の吸収量が増加する傾向にある。 From the characteristics shown in FIG. 19, it has already been explained that it is desirable to use light in the wavelength range of 2.5 μm to 20 μm for human body temperature measurement. By the way, in the light in this range, large water absorption peaks are observed near the center wavelengths of 2.955 μm and 6.100 μm. Furthermore, in the wavelength region longer than 6.9 μm, the water absorption tends to increase as the wavelength increases.

実際の水分子による光吸収量の具体例を示す。厚み0.3μmの水膜の中を2.955μmの波長光が通過すると、光量の8割が減衰する(すなわち入射光量の2割しか透過しない)。多量に汗をかくと、汗が水滴になって滴り落ちる経験をした人は多いと思われる。この時の水滴の直径が1~2mm程度を考えると、上記の光吸収量が如何に大きいかが分かる。 A specific example of light absorption by actual water molecules is shown. When light with a wavelength of 2.955 μm passes through a water film with a thickness of 0.3 μm, 80% of the light is attenuated (that is, only 20% of the incident light is transmitted). It is believed that many people have experienced that when they perspire profusely, the sweat turns into water droplets and drips. Considering that the diameter of the water droplet at this time is about 1 to 2 mm, it can be understood how large the amount of light absorption is.

一方で水分子による光吸収量の波長依存特性は、波長3.75μm近傍と波長5.30μm近傍で最小値を取る。従ってサーモグラフィに使用する所定波長14の値としては、3.75μm近傍または5.30μm近傍が望ましい。そして上記の水分子の光吸収特性まで考慮すると、人の体温測定には3.3μm以上で5.7μm以下の範囲の波長域光を使用するのが望ましい。所定波長14の値として、この範囲の波長光をサーモグラフィに使用すれば、比較的汗や空気中の湿度の影響が少なく体温測定が行える。 On the other hand, the wavelength dependence of the amount of light absorbed by water molecules takes minimum values near wavelengths of 3.75 μm and 5.30 μm. Therefore, the value of the predetermined wavelength 14 used in thermography is desirably around 3.75 μm or around 5.30 μm. Considering the above light absorption characteristics of water molecules, it is desirable to use light in a wavelength range of 3.3 μm or more and 5.7 μm or less for human body temperature measurement. As the value of the predetermined wavelength 14, if light with a wavelength in this range is used for thermography, body temperature can be measured with relatively little effect of sweat and humidity in the air.

さらに高精度の体温測定が要求される場合には、互いに異なる2波長光それぞれでの検出温度を測定してもよい。この2波長光での検出温度特性と上述した水分子光吸収の波長依存特性を組み合わせることで、赤外光の光路途中で光吸収した水分子量が推定できる。この推定された水分子量の値を使って検出温度を補正すると、正確な体温が算出できる。 If higher-precision body temperature measurement is required, the detected temperature may be measured with light of two different wavelengths. By combining the detection temperature characteristics of the two-wavelength light and the wavelength dependence characteristics of the optical absorption of water molecules, the amount of water molecules absorbed in the optical path of the infrared light can be estimated. By correcting the detected temperature using this estimated water molecular weight value, an accurate body temperature can be calculated.

赤外線カメラ806の暗電流(黒体輻射光が遮断された時に流れる疑似検出電流)は、意外に大きい事が分かる。従って人の体温を正確に測定する場合には、検出電流値から暗電流の値を差し引く必要がある。ここでこの暗電流の値は、赤外線カメラ806内部の温度で変化する。 It can be seen that the dark current of the infrared camera 806 (pseudo detection current that flows when blackbody radiation is blocked) is unexpectedly large. Therefore, to accurately measure a person's body temperature, it is necessary to subtract the dark current value from the detected current value. Here, the value of this dark current changes with the temperature inside the infrared camera 806 .

赤外線カメラ806の暗電流値の測定には、赤外線カメラ806の入り口遮光は好ましくない。常温の光遮蔽部材からの黒体輻射光が赤外線カメラ806に入射して、暗電流値が測定できなくなる。人の体温測定の合間に、赤外線カメラ806を充分遠方物体に向けて暗電流値を頻繁に測定するのが望ましい。黒体輻射光の輝度は、赤外線カメラ806と充分遠方物体との間の距離の二乗に反比例するため、充分遠方物体からの黒体輻射光はほとんど赤外線カメラ806内に入らない。この状態で赤外線カメラ806から得られる信号量(電流値)が、暗電流の値にほぼ等しくなる。 For the measurement of the dark current value of the infrared camera 806, it is not preferable to shield the entrance of the infrared camera 806 from light. Blackbody radiation from the room temperature light shielding member enters the infrared camera 806, making it impossible to measure the dark current value. It is desirable to aim the infrared camera 806 at a sufficiently distant object and measure the dark current value frequently between measurements of the body temperature of the person. Since the brightness of blackbody radiation is inversely proportional to the square of the distance between infrared camera 806 and a sufficiently distant object, almost no blackbody radiation from a sufficiently distant object enters infrared camera 806 . In this state, the signal amount (current value) obtained from the infrared camera 806 is approximately equal to the dark current value.

図20に、本実施形態の応用例である3眼赤外線カメラ内構造を示す。ここでの“3眼”とは、赤外光38を赤外光センサ34上に集光させる1個のレンズ32(1眼)と、可視光40を可視光センサ46、48上に集光させる2個のレンズ42、44(2眼)の合計“3個のレンズ”を意味する。 FIG. 20 shows the internal structure of a trinocular infrared camera, which is an application example of this embodiment. Here, "three eyes" means one lens 32 (single eye) for concentrating infrared light 38 on infrared light sensor 34 and one lens 32 (one eye) for concentrating visible light 40 on visible light sensors 46 and 48. It means a total of "three lenses" of the two lenses 42, 44 (two eyes) that allow

赤外光38に感度を有する赤外光センサ34が内蔵された赤外線カメラ806では、赤外光38を集光させるレンズ32の直前に、バンドパス光学フィルタ24が配置されている。上述したように、このバンドパス光学フィルタ24は3.3μm以上で5.7μm以下の範囲の波長域光(あるいは波長3.75μm近傍の光または波長5.30μm近傍の光)のみを通過させるように設計されている。 In an infrared camera 806 incorporating an infrared sensor 34 that is sensitive to infrared light 38 , the bandpass optical filter 24 is placed immediately before the lens 32 that collects the infrared light 38 . As described above, the band-pass optical filter 24 is designed to pass only light in the wavelength range of 3.3 μm or more and 5.7 μm or less (or light near wavelength 3.75 μm or light near wavelength 5.30 μm). is designed to

この赤外光センサ34から得られる検出信号(第1の信号)は温度分布映像/画像生成部36に転送される。そしてこの温度分布映像/画像生成部36で、空間的な検出温度分布特性を生成する。 A detection signal (first signal) obtained from the infrared light sensor 34 is transferred to the temperature distribution video/image generation unit 36 . The temperature distribution video/image generation unit 36 generates spatial detected temperature distribution characteristics.

また図20に示す3眼赤外線カメラ806では、上述した理由(測定対象20と赤外線カメラ806間の距離変化)から生じる検出温度低下を補正する機能が内蔵されている。すなわち3眼の中の可視光40に対応した2眼(レンズ42、44)で測定対象物(測定対象者)までの距離Lを測定し、その測定された距離Lに応じて検出温度を補正する。 Also, the three-lens infrared camera 806 shown in FIG. 20 has a built-in function of correcting a decrease in detected temperature caused by the above-described reason (distance change between the measurement object 20 and the infrared camera 806). That is, the distance L to the measurement object (measurement subject) is measured with two eyes (lenses 42, 44) corresponding to the visible light 40 among the three eyes, and the detected temperature is corrected according to the measured distance L. do.

つまり3眼赤外線カメラ806では、可視光40を通過させる2個のレンズ42、44が互いに離れた位置に配置されている。従って測定対象20に対する結像位置が、可視光センサ(撮像素子)46と48とでずれる。このずれ量を検出することで、“三角法”に基付いて測定対象20から3眼赤外線カメラ806までの距離Lが算出できる。 That is, in the three-lens infrared camera 806, the two lenses 42 and 44 that allow the visible light 40 to pass are arranged at positions separated from each other. Therefore, the imaging positions of the measurement object 20 are shifted between the visible light sensors (imaging devices) 46 and 48 . By detecting this shift amount, the distance L from the measurement object 20 to the three-lens infrared camera 806 can be calculated based on "trigonometry".

具体的には各可視光センサ(撮像素子)46、48から得られる検出信号(第2の信号)を利用して、可視映像/可視画像生成部52、54で測定対象20に対する結像パターンを生成する。そして測定対象物毎の距離分布算出部62で両者の結像パターン間のずれ量を調べ、測定対象20から3眼赤外線カメラ806までの距離Lを算出する。 Specifically, using detection signals (second signals) obtained from visible light sensors (imaging elements) 46 and 48, visible video/visible image generators 52 and 54 generate an imaging pattern for the measurement target 20. Generate. Then, the distance distribution calculation unit 62 for each object to be measured examines the amount of deviation between the two imaging patterns, and calculates the distance L from the object 20 to the three-lens infrared camera 806 .

前述したように測定対象20から放射された黒体輻射光の輝度は、この距離Lの二乗に反比例する。従って温度分布補正部60内部ではここで得られた距離Lの値を用いて、上記の空間的な検出温度分布特性を補正して実際の体温を算出する。 As described above, the brightness of the black body radiation emitted from the measurement object 20 is inversely proportional to the square of the distance L. Therefore, in the temperature distribution correcting section 60, the value of the distance L obtained here is used to correct the spatial detected temperature distribution characteristic and calculate the actual body temperature.

温度分布補正部60からは、“補正後の温度分布”しか得られない。単なる温度分布特性のみからは、測定対象20の識別は難しい。そのため合成部68では、上記の“補正後の温度分布”に可視光を撮像して得られた測定対象20の輪郭や目、鼻、口などの形状画像を重ねる。そしてこの合成画像を、温度分布出力端子58に出力する。 Only the "corrected temperature distribution" is obtained from the temperature distribution correction unit 60. FIG. It is difficult to identify the object 20 to be measured from only the temperature distribution characteristics. Therefore, in the synthesizing unit 68, shape images such as the outline of the measurement object 20 and the eyes, nose, mouth, etc. obtained by imaging the visible light are superimposed on the "corrected temperature distribution". Then, this composite image is output to the temperature distribution output terminal 58 .

ここで“補正後の温度分布”に重ねられる輪郭や目、鼻、口などの形状画像は、可視映像/可視画像の輪郭形状抽出部(目の輪郭を含む)66から得られる。特にこの輪郭や目、鼻、口などの形状画像の中心位置は、“補正後の温度分布”の中心位置と一致する必要がある。図20から分かるように、赤外線カメラ806のレンズ32の位置と通常カメラ816-1,2のレンズ42、44の位置がずれる。従って上記の中心位置ずれを補正する必要がある。 Here, contours and shape images of the eyes, nose, mouth, etc. to be superimposed on the "corrected temperature distribution" are obtained from the contour shape extractor (including the contours of the eyes) 66 of the visible video/visible image. In particular, the center position of shape images such as contours, eyes, nose and mouth must match the center position of the "corrected temperature distribution". As can be seen from FIG. 20, the position of the lens 32 of the infrared camera 806 and the positions of the lenses 42 and 44 of the normal cameras 816-1 and 816-2 are shifted. Therefore, it is necessary to correct the center position deviation.

合成後の可視光平面映像/画像生成部64では、中心位置ずれが補正された可視画像を生成する。それには可視映像/可視画像生成部52、54で得られた画像と、測定対象物毎の距離分布算出部62から得られた距離情報Lが利用されている。そしてここで得られた可視画像は、可視映像/可視画像出力端子56から出力される。 After synthesis, the visible light plane video/image generation unit 64 generates a visible image in which the deviation of the center position is corrected. For this, the images obtained by the visible video/visible image generators 52 and 54 and the distance information L obtained from the distance distribution calculator 62 for each object to be measured are used. The visible image obtained here is output from the visible video/visible image output terminal 56 .

図20と先に説明した図2との対応関係を、以下に説明する。図2の通常カメラ816は、図20の通常カメラ816-1、2に対応し、図2と図20は同一の赤外線カメラ806をもつ。また図20の可視映像/可視画像生成部52、54から測定対象物毎の距離分布算出部62、合成後の可視光平面映像/画像生成部64までが、図2の通常カメラ画像認識部112の一部に相当する。そして図20の温度分布映像/画像生成部36から温度分布補正部60、合成部(可視光の輪郭も表示した温度分布)68までが、図2の赤外線画像認識部116に相当する。 The correspondence relationship between FIG. 20 and FIG. 2 described above will be described below. The normal camera 816 in FIG. 2 corresponds to the normal cameras 816-1 and 816-2 in FIG. 20, and FIGS. 2 and 20 have the same infrared camera 806. FIG. 20, from the visible video/visible image generation units 52 and 54 to the distance distribution calculation unit 62 for each measurement object, and the visible light plane video/image generation unit 64 after synthesis, the normal camera image recognition unit 112 in FIG. corresponds to a part of 20 corresponds to the infrared image recognition section 116 in FIG.

また図20で示した3眼赤外線カメラ806自体は、図7の赤外線カメラ806に対応する。そして図2の人物頭部温度判定部125は、図7の赤外線カメラマイクロサービス80Cの一部に対応する。さらに図2の検知時動作設定部140は、図7のメーラーマイクロサービス80HやHMDマイクロサービス80E、個別機器マイクロサービス80Fなどに対応する。 Also, the trinocular infrared camera 806 itself shown in FIG. 20 corresponds to the infrared camera 806 in FIG. The human head temperature determination unit 125 in FIG. 2 corresponds to part of the infrared camera microservice 80C in FIG. 2 corresponds to the mailer microservice 80H, the HMD microservice 80E, the individual device microservice 80F, and the like in FIG.

図2の通常カメラ画像認識部112では、“1〕画像解析”から“2〕人物検出”、“3〕人数検出”、“4〕頭部検出”、“5〕距離検出”に至る高度な“画像認識”を行う説明をした。そしてその高度な“画像認識”は、センサマイクロサービス80AのAIを用いた画像認識クラス(AI Analyze Class)2018(図13)で実行される説明を行った。 The normal camera image recognition unit 112 shown in FIG. 2 performs advanced processing from "1) image analysis" to "2) person detection", "3) people detection", "4) head detection", and "5) distance detection". I explained how to perform “image recognition”. And the advanced "image recognition" was explained to be executed in the image recognition class (AI Analyze Class) 2018 (Fig. 13) using AI of the sensor microservice 80A.

図21は、図13で説明したセンサマイクロサービス80Aのクラス構造(ソフトウェアアーキテクチャ)での各クラス間の連携例を示す。始めに Customims Class で Custom Device Class と AI Analyze Class のインポート(組み込み)処理74、76を行う。これにより Custom Device Class と AI Analyze Class で定義(記述)されたメソッドの、Customims Class での使用が可能となる。 FIG. 21 shows an example of cooperation between classes in the class structure (software architecture) of the sensor microservice 80A described in FIG. First, Custom Device Class and AI Analyze Class are imported (embedded) 74 and 76 in Customs Class. As a result, the methods defined (described) in the Custom Device Class and AI Analyze Class can be used in the Customims Class.

そしてステップ44(S44)においてアプリケーション(IF-THEN)エンジン90から発行されるAPIコマンドの void setSendDataFormat (String format) で送信データフォーマット指定を受ける。上記引数の format に『通常のカメラ816からの画像信号の認識(解析)後に得られた人物の人数の回答要求』が含まれた場合には、AI Analyze Class のメソッドを使った画像認識処理が開始される。 Then, at step 44 (S44), the transmission data format specification is received by the API command void setSendDataFormat (String format) issued from the application (IF-THEN) engine 90. FIG. If the format of the above argument includes "request for the number of people obtained after recognizing (analyzing) the image signal from the normal camera 816", the image recognition processing using the AI Analyze Class method is executed. be started.

画像認識処理を開始する前に、通常カメラ816からの画像信号(映像信号または静止画像信号が相当し第2の信号に対応)の取得が必要となる。そのため Customims Class で HashMap SetDeviceData() を呼び出す。すると Custom Device Class で予め記述された対応メソッドが動作し(S45)、通常カメラ816を使った画像信号の取得が開始される。 Before starting image recognition processing, it is usually necessary to acquire an image signal (corresponding to a video signal or a still image signal and corresponding to a second signal) from the camera 816 . So call HashMap SetDeviceData() in Customs Class. Then, a corresponding method pre-written in the Custom Device Class operates (S45), and image signal acquisition using the normal camera 816 is started.

ステップ46(S46)では、通常カメラ816を使った画像信号の取得が行われる。次に Customims Class で Stream sendSensor() が呼び出されたタイミングで、通常カメラ816が取得した画像信号が Customims Class に読み込まれる。ここで読み込まれた画像信号は、バッファメモリ2008(図13)に保存されてもよい(S48)。 In step 46 (S46), an image signal is acquired using the normal camera 816. FIG. Next, at the timing when Stream sendSensor() is called in the Customims Class, the image signal acquired by the normal camera 816 is read into the Customims Class. The image signal read here may be stored in the buffer memory 2008 (FIG. 13) (S48).

AI Analyze Class で予め記述された対応メソッドを Customims Class で呼び出して(S49)、バッファメモリ2008に保存され画像信号の画像認識処理側読み取り(S50)が行われる。同様に AI Analyze Class で予め記述された対応メソッドを Customims Class で呼び出すことで、人物の頭部位置算出指示とその結果得られる人数算出の指示(S51)が行われる。それに応じて AI Analyze Class で予め記述された対応メソッドが動作し、データ解析(画像認識)S52が実行される。そして上記対応メソッドの実行が完了すると、データ解析(画像認識)の結果得られた人物の人数が分かる(S53)。 A corresponding method previously described in the AI Analyze Class is called in the Customs Class (S49), and the image signal stored in the buffer memory 2008 is read by the image recognition processing side (S50). Similarly, by calling the corresponding method described in advance in the AI Analyze Class in the Customs Class, an instruction to calculate the head position of the person and the resulting number of people calculation (S51) are performed. In response to this, a corresponding method described in advance in AI Analyze Class operates, and data analysis (image recognition) S52 is executed. When the execution of the corresponding method is completed, the number of persons obtained as a result of data analysis (image recognition) is obtained (S53).

ステップ54(S54)では、その算出された人数に応じて『頭部の温度取得が必要か否か?』の判定処理が行われる。なおここまでは通常カメラ816を制御するセンサマイクロサービス80A単独の処理フローを説明した。 In step 54 (S54), according to the calculated number of people, "Is head temperature acquisition necessary? ] is performed. Up to this point, the processing flow of the sensor microservice 80A alone that controls the normal camera 816 has been explained.

ステップ55(S55)とステップ56(S56)での頭部温度の抽出処理は、上記センサマイクロサービス80Aと赤外線カメラマイクロサービス80Cとの連携処理あるいは、上記センサマイクロサービス80Aでの画像認識結果を利用した赤外線カメラマイクロサービス80Cでの処理となる。 The head temperature extraction processing in step 55 (S55) and step 56 (S56) utilizes cooperative processing between the sensor microservice 80A and the infrared camera microservice 80C or the image recognition result of the sensor microservice 80A. Then, the infrared camera microservice 80C performs processing.

図22は高熱者検出時に複数媒体へ同時に通知を行う場合のアプリケーション(IF-THEN)ルール設定方法例を示す。図22では3眼赤外線カメラ806から得られた各種映像や各種静止画像128だけでなく、GPS位置センサ830から得られた位置情報138も検出信号として利用する。 FIG. 22 shows an example of an application (IF-THEN) rule setting method for simultaneously notifying multiple media when a person with high fever is detected. In FIG. 22, not only various videos and various still images 128 obtained from the three-lens infrared camera 806 but also position information 138 obtained from the GPS position sensor 830 are used as detection signals.

ここで高熱者検出時の通知先(通知に利用する媒体)の設定は、アプリケーション(IF-THEN)エンジン90のメモリ領域71に保存されたアプリケーション(IF-THEN)ルール70で規定(記述)される。 Here, the setting of the notification destination (medium used for notification) when a person with high fever is detected is defined (described) by application (IF-THEN) rules 70 stored in the memory area 71 of the application (IF-THEN) engine 90. be.

図22の例では、メール通信/メール送信1250と警告画面表示1230の両方に通知する。ここで重要な事は“高熱者が検出”されたことだけでなく、通知を受けたユーザが“検出された高熱者を識別”できる必要がある。図6の警告画面表示1230例では、“右端の人が斜線表示”されて識別可能になっている。このようにユーザへの通知時に“画像を利用した視覚化”を行うと、通知を受けたユーザが容易に高熱者(注目すべき対象)を識別できる効果がある。 In the example of FIG. 22, both the mail communication/mail transmission 1250 and the warning screen display 1230 are notified. What is important here is not only that "a high fever person has been detected", but also that the user who has received the notification must be able to "identify the detected high fever person". In the example of the warning screen display 1230 in FIG. 6, "the person on the right end is shaded" so that it can be identified. By performing “visualization using an image” at the time of notifying the user in this way, there is an effect that the user who receives the notification can easily identify the hyperthermia (target to be noticed).

この通知時の“視覚化”のため、警告画面表示1230を制御する画面表示用マイクロサービス80Kに対しては、高熱者特定画像136を送信してもよい。またメール通信/メール送信1250を制御するメーラーマイクロサービス80Hへ高熱者顔画像132を送信してもよい。ここでメール受信するユーザは、現場から離れた位置に居る可能性が高い。そのためメーラーマイクロサービス80Hに対して、GPS位置センサ830から取得した位置情報138から得られた高熱者位置情報134を送信してもよい。 For "visualization" at the time of this notification, the high fever identification image 136 may be sent to the screen display microservice 80K that controls the warning screen display 1230. FIG. Also, the high fever person face image 132 may be sent to the mailer microservice 80H that controls the mail communication/mail transmission 1250 . The user who receives the mail here is highly likely to be in a position away from the site. Therefore, the hyperthermia location information 134 obtained from the location information 138 obtained from the GPS location sensor 830 may be transmitted to the mailer microservice 80H.

ここで特に重要な事は、『通知側の(すなわち図11の実行(THEN)78に関連した)マイクロサービス80H、80Kに送信する情報132~136を、センサ側の(すなわち図11の条件(IF)72に関連した)マイクロサービス80C、80Jに作らせて送信させる』ところにある。ユーザへの通知(すなわち図11の実行(THEN)78)に必要な情報を、センサ側の(すなわち図11の条件(IF)72に関連した)マイクロサービス80C、80Jで作成すると、高熱者検出装置内部(あるいは高熱者検出システム全体)の処理効率が大幅に向上する効果がある。 What is particularly important here is that "information 132-136 to be sent to microservices 80H, 80K on the notification side (that is, associated with THEN 78 in FIG. 11) is sent to the sensor side (that is, the conditions ( IF) Let the microservices 80C and 80J create and send” in relation to 72. Once the information necessary for notification to the user (i.e. execution (THEN) 78 in FIG. 11) is created by microservices 80C, 80J on the sensor side (i.e. associated with condition (IF) 72 in FIG. 11), hyperthermia detection This has the effect of greatly improving the processing efficiency inside the device (or the entire high fever detection system).

高熱者検出時の通知情報の例は、図6の表示画面12のように“警告文”と“高熱者識別が容易な表示画像”で構成されている。また上記“警告文”の内容は、定形フォーマット化が可能な場合が多い。従ってアプリケーション(IF-THEN)ルール70の実行部(THEN)78(図11)が行う処理の中で『ユーザへの情報提供』の方法として、標準テンプレート(定形フォーマット)を多用できる。そのため『ユーザへの情報提供』に関連したマイクロサービス80の中では、『既存テンプレートを利用した標準フォーマット作成』の処理が実施可能となる。 An example of the notification information when a high fever person is detected is composed of a "warning message" and a "display image for easy identification of a high fever person" as in the display screen 12 of FIG. In many cases, the content of the "warning statement" can be formatted in a fixed format. Therefore, the standard template (standard format) can be used frequently as a method of "providing information to the user" in the processing performed by the execution unit (THEN) 78 (FIG. 11) of the application (IF-THEN) rule 70. FIG. Therefore, in the microservice 80 related to "providing information to the user", it is possible to execute the process of "creating a standard format using an existing template".

図23は、情報提供関連のマイクロサービスのクラス構成(ソフトウェアアーキテクチャ)を示す。情報提供関連の基本制御用パッケージ2000に、既存テンプレートを利用した標準フォーマット生成クラス(FillFormat Class)2019が含まれる。そしてここでユーザに通知する情報に関する“定型文”(例えば上記の“警告文”など)と、“表示画像”(例えば上記の“高熱者識別が容易な表示画像”など)の組が生成される。 FIG. 23 shows the class configuration (software architecture) of microservices related to information provision. A basic control package 2000 related to information provision includes a standard format generation class (FillFormat Class) 2019 using an existing template. Then, a set of a "fixed form" (for example, the above-mentioned "warning sentence") regarding information to be notified to the user and a "display image" (for example, the above-mentioned "display image for easy identification of a person with high fever") is generated. be.

この既存テンプレートを利用した標準フォーマット生成クラス(FillFormat Class)2019の中(所定メソッド)で作成した作成フォーマット77は、作成フォーマット保存用バッファメモリに一時保存される。そしてこの一時保存された作成フォーマット77はデバイス制御テンプレートクラス(Base Device Class)2002または個別デバイス制御クラス(Custom Device Class)2101を経て、ユーザに画面表示1230される。 The created format 77 created in the standard format generation class (FillFormat Class) 2019 (predetermined method) using this existing template is temporarily saved in the created format saving buffer memory. This temporarily saved creation format 77 is displayed on the screen 1230 to the user through the device control template class (Base Device Class) 2002 or the individual device control class (Custom Device Class) 2101 .

図24では、図23に示した情報提供(自動通知)関連のマイクロサービスを用いたユーザへの情報通信方法を説明している。図22を用いて、『通知側の(すなわち図11の実行(THEN)78に関連した)マイクロサービス80H、80Kに送信する情報132~136を、センサ側の(すなわち図11の条件(IF)72に関連した)マイクロサービス80C、80Jに作らせて送信させる』説明をした。ここではその具体的な処理フローを説明する。 FIG. 24 describes a method of communicating information to a user using the information provision (automatic notification) related microservices shown in FIG. Using FIG. 22, "information 132 to 136 to be sent to microservices 80H and 80K on the notification side (that is, related to execution (THEN) 78 in FIG. 11) is transmitted to the sensor side (that is, condition (IF) in FIG. 72) are made and sent by microservices 80C and 80J. A specific processing flow will be described here.

図24のステップ24(S24)からステップ29(S29)までが、センサ側の(すなわち図11の条件(IF)72に関連した)マイクロサービス80Cに必要な情報を作成させて受け取るまでの処理を示している。そしてステップ30(S30)からステップ31(S31)までが、センサ側マイクロサービス80Cが作成した情報を利用した情報を通知側の(すなわち図11の実行(THEN)78に関連した)マイクロサービス4D、80H、80Kに送信して通知処理をさせている。 From step 24 (S24) to step 29 (S29) in FIG. 24, the microservice 80C on the sensor side (that is, related to condition (IF) 72 in FIG. 11) is caused to create and receive necessary information. showing. Then, steps 30 (S30) to step 31 (S31) transmit information using the information created by the sensor-side microservice 80C to the notification-side (that is, related to execution (THEN) 78 in FIG. 11) microservice 4D, It is sent to 80H and 80K for notification processing.

本実施形態では高熱者を検出して初めて、ユーザへの通知が必要となる。従って最初にセンサ側の(すなわち図11の条件(IF)72に関連した)マイクロサービス80Cに対して、条件(IF)72に合致したか否か?すなわち高熱者を検出したか否か?(S27)の回答をさせる。そして高熱者を検出した場合には、通知側の(すなわち図11の実行(THEN)78に関連した)マイクロサービス4D、80H、80Kに送信するために必要な情報128を、センサ側の(すなわち図11の条件(IF)72に関連した)マイクロサービス80Cに作成/送信させる(S29)。 In this embodiment, it is necessary to notify the user only after a high fever person is detected. So first for the sensor-side microservice 80C (ie, associated with condition (IF) 72 in FIG. 11), is condition (IF) 72 met? In other words, whether a person with high fever is detected or not? (S27) is made to answer. And if a high fever is detected, the sensor side (i.e. Create/send to microservice 80C (related to condition (IF) 72 in FIG. 11) (S29).

ここでステップ24(S24)とステップ28(S28)では、アプリケーション(IF-THEN)エンジン90からセンサ側のマイクロサービス80Cに対して void setSendDataFormat (String format) (図15)のAPIコマンドを発行する。これによりセンサ側のマイクロサービス80Cが作成/送信する情報内容の切り替え指示を行う。 At steps 24 (S24) and 28 (S28), the application (IF-THEN) engine 90 issues an API command of void setSendDataFormat (String format) (FIG. 15) to the microservice 80C on the sensor side. As a result, the microservice 80C on the sensor side issues an instruction to switch the contents of information created/transmitted.

本発明の実施形態を説明したが、この実施形態は一例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形や、実施形態の組み合わせも、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 While embodiments of the invention have been described, the embodiments have been presented by way of example and are not intended to limit the scope of the invention. This novel embodiment can be embodied in various other forms, and various omissions, replacements, and modifications can be made without departing from the scope of the invention. This embodiment, modifications thereof, and combinations of embodiments are also included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and equivalents thereof.

2・・・クラウドサーバ、6・・・エッジコンピュータ、70・・・アプリケーション(IF-THEN)ルール、80・・・マイクロサービス、90・・・アプリケーション(IF-THEN)エンジン、92・・・ifLinkアプリ。 2... Cloud server, 6... Edge computer, 70... Application (IF-THEN) rule, 80... Micro service, 90... Application (IF-THEN) engine, 92... ifLink app.

Claims (4)

高熱者検出装置内に、第1の画像認識部と、第2の画像認識部と、人物の体温判定部と、高熱者の検知時のルールを定める検知時動作指示部と、携帯端末とその他の外部装置を操作するか否かを設定する検知時動作設定部と、前記携帯端末その他の前記外部装置に対して、具体的動作指示を行うためのマイクロサービスと、を備え、
前記第1の画像認識部が、赤外光に感度を有する第1の光センサから得られる複数の人物の各頭部に対応する第1の信号から、第1の画像認識を行うこと、
前記第2の画像認識部が、赤外線以外の波長光に感度を有する撮像素子を含む第2の光センサから得られる前記複数の人物の各頭部に対応する第2の信号から、第2の画像認識を行うこと、
前記人物の体温判定部が、前記第1の画像認識の結果と前記第2の画像認識の結果から体温が所定値を超えた高熱者の有無を検出すること、
前記体温が前記所定値を超えた高熱者の有無の検出に応答した前記検知時動作指示部が、設定されているルールに従って通知用の指示を出力すると共に、前記検知時動作設定部に対しても前記高熱者の有無を検出したことを通知すること、
前記検知時動作設定部が、前記携帯端末とその他の前記外部装置に対する具体的動作指示を行うための前記マイクロサービスを設定しており、前記高熱者の有無の検出の通知に応答して、前記携帯端末とその他の前記外部装置に対して対応する前記マイクロサービスを前記具体的動作指示を出力するように制御すること、を備えた高熱者検出方法。
In the high-temperature person detection device, there are a first image recognition unit, a second image recognition unit, a person's body temperature determination unit, a detection operation instruction unit that determines the rule when a high-temperature person is detected, a mobile terminal, and others. a detection operation setting unit for setting whether or not to operate the external device, and a microservice for giving a specific operation instruction to the mobile terminal and the other external device,
the first image recognition unit performing first image recognition from a first signal corresponding to each head of a plurality of persons obtained from a first optical sensor sensitive to infrared light;
The second image recognition unit recognizes a second image from a second signal corresponding to each head of the plurality of persons obtained from a second optical sensor including an image sensor having sensitivity to light of a wavelength other than infrared light. performing image recognition;
The person's body temperature determination unit detects the presence or absence of a hyperthermic person whose body temperature exceeds a predetermined value from the result of the first image recognition and the result of the second image recognition;
The detection-time operation instruction unit that responds to the detection of the presence or absence of a hyperthermic person whose body temperature exceeds the predetermined value outputs an instruction for notification according to a set rule, and outputs an instruction for notification to the detection-time operation setting unit Notifying that the presence or absence of the high fever person is also detected,
The detection operation setting unit sets the microservice for giving specific operation instructions to the mobile terminal and other external devices, and in response to the notification of detection of the presence or absence of the high fever person, the A hyperthermia detection method , comprising: controlling the microservice corresponding to the mobile terminal and the other external device so as to output the specific operation instruction.
前記第1の画像認識部は、前記所定値を予め設定した時の測定距離よりも、前記人物を検温する実測時の測定距離が大きい場合と、小さい場合とで、それぞれ体温判定のために取得した温度分布を補正すること、を備えた請求項1記載の高熱者検出方法。 The first image recognition unit acquires for body temperature determination when the measured distance when actually measuring the temperature of the person is larger or smaller than the measured distance when the predetermined value is set in advance. 2. The method of detecting a high fever person according to claim 1, further comprising correcting the temperature distribution. 高熱者検出装置は第1の画像認識部と、第2の画像認識部と、人物の体温判定部と、高熱者の検知時のルールを定める検知時動作指示部と、携帯端末とその他の外部装置を操作するか否かを設定する検知時動作設定部と、前記携帯端末とその他の前記外部装置に対して、具体的動作指示を行うためのマイクロサービスと、を備え、
前記第1の画像認識部では、赤外光に感度を有する第1の光センサから得られ、複数の人物の各頭部に対応する第1の信号から第1の画像認識を行い、
前記第2の画像認識部では、赤外線以外の波長光に感度を有する撮像素子を含む第2の光センサから得られる前記複数の人物の各頭部に対応する第2の信号から、第2の画像認識を行い、
前記人物の体温判定部では、前記第1の画像認識の結果と前記第2の画像認識の結果から体温が所定値を超えた高熱者の有無を検出し、
前記検知時動作指示部では、前記体温が前記所定値を超えた高熱者の有無の検出に応答して、設定されているルールに従って通知用の指示を出力すると共に、前記検知時動作設定部に対しても前記高熱者の有無を検出したことを通知し、
前記検知時動作設定部では、前記携帯端末とその他の前記外部装置に対する具体的動作指示を行うための前記マイクロサービスを設定しており、前記高熱者の有無の検出の通知に応答して、前記携帯端末とその他の前記外部装置に対して対応する前記マイクロサービスを前記具体的動作指示を出力するように制御するように構成した、高熱者検出装置。
The high-temperature person detection device includes a first image recognition unit, a second image recognition unit, a person's body temperature determination unit, a detection time operation instruction unit that determines rules for high-temperature person detection, a mobile terminal and other external devices. A detection operation setting unit that sets whether or not to operate the device, and a microservice for giving a specific operation instruction to the mobile terminal and the other external device,
The first image recognition unit performs first image recognition from a first signal obtained from a first optical sensor sensitive to infrared light and corresponding to each head of a plurality of persons,
In the second image recognition unit, a second signal corresponding to each head of the plurality of persons obtained from a second optical sensor including an image sensor having sensitivity to light of wavelengths other than infrared rays is converted into a second image. perform image recognition,
In the person's body temperature determination unit, the presence or absence of a hyperthermia person whose body temperature exceeds a predetermined value is detected from the result of the first image recognition and the result of the second image recognition,
In response to detection of the presence or absence of a hyperthermia person whose body temperature exceeds the predetermined value, the detection operation instruction unit outputs an instruction for notification according to a set rule, and outputs a notification instruction to the detection operation setting unit. Also notify that the presence or absence of the high fever person is detected,
The detection operation setting unit sets the microservice for issuing specific operation instructions to the mobile terminal and the other external devices, and in response to the notification of detection of the presence or absence of the high fever person, the A hyperthermia detection device configured to control the microservice corresponding to the portable terminal and the other external device so as to output the specific operation instruction.
赤外光に感度を有する光センサと、エッジコンピュータと、体温が所定値を超えた高熱者の存在を通知する通知手段とから構成され、
前記エッジコンピュータは、
第1の画像認識部と、第2の画像認識部と、人物の体温判定部と、高熱者の検知時のルールを定める検知時動作指示部と、携帯端末とその他の外部装置を操作するか否かを設定する検知時動作設定部と、前記携帯端末とその他の前記外部装置に対して、具体的動作指示を行うためのマイクロサービスと、を備え、
前記第1の画像認識部が、赤外光に感度を有する第1の光センサから得られる複数の人物の各頭部に対応する第1の信号から、第1の画像認識を行い、
前記第2の画像認識部が、赤外線以外の波長光に感度を有する撮像素子を含む第2の光センサから得られる前記複数の人物の各頭部に対応する第2の信号から、第2の画像認識を行い、
前記人物の体温判定部が、前記第1の画像認識の結果と前記第2の画像認識の結果から体温が所定値を超えた高熱者の有無を検出し、
前記体温が前記所定値を超えた高熱者の有無の検出に応答した前記検知時動作指示部が、設定されているルールに従って通知用の指示を出力すると共に、前記検知時動作設定部に対しても前記高熱者の有無を検出したことを通知し、
前記検知時動作設定部が、前記携帯端末とその他の前記外部装置に対する具体的動作指示を行うための前記マイクロサービスを設定しており、前記高熱者の有無の検出の通知に応答して、前記携帯端末とその他の前記外部装置に対して対応する前記マイクロサービスを前記具体的動作指示を出力するように制御する、高熱者検出システム。
Composed of an optical sensor sensitive to infrared light, an edge computer, and a notification means for notifying the presence of a high fever person whose body temperature exceeds a predetermined value,
The edge computer
A first image recognizing unit, a second image recognizing unit, a person's body temperature determination unit, a detection time operation instructing unit that determines rules when a person with high fever is detected, and whether a mobile terminal or other external device is operated a detection time operation setting unit for setting whether or not, and a microservice for giving specific operation instructions to the mobile terminal and other external devices,
The first image recognition unit performs first image recognition from a first signal corresponding to each head of a plurality of persons obtained from a first optical sensor sensitive to infrared light,
The second image recognition unit recognizes a second image from a second signal corresponding to each head of the plurality of persons obtained from a second optical sensor including an image sensor having sensitivity to light of a wavelength other than infrared light. perform image recognition,
The person's body temperature determination unit detects the presence or absence of a hyperthermic person whose body temperature exceeds a predetermined value from the result of the first image recognition and the result of the second image recognition,
The detection-time operation instruction unit that responds to the detection of the presence or absence of a hyperthermic person whose body temperature exceeds the predetermined value outputs an instruction for notification according to a set rule, and outputs an instruction for notification to the detection-time operation setting unit also notifies that the presence or absence of the high fever person is detected,
The detection operation setting unit sets the microservice for giving specific operation instructions to the mobile terminal and other external devices, and in response to the notification of detection of the presence or absence of the high fever person, the A hyperthermia detection system for controlling the microservice corresponding to the mobile terminal and other external devices to output the specific operation instruction .
JP2020071175A 2020-04-10 2020-04-10 High fever detection method, high fever detection device, and high fever detection system Active JP7335850B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020071175A JP7335850B2 (en) 2020-04-10 2020-04-10 High fever detection method, high fever detection device, and high fever detection system
JP2023131979A JP2023138864A (en) 2020-04-10 2023-08-14 Edge computer having diversity and edge computer control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020071175A JP7335850B2 (en) 2020-04-10 2020-04-10 High fever detection method, high fever detection device, and high fever detection system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023131979A Division JP2023138864A (en) 2020-04-10 2023-08-14 Edge computer having diversity and edge computer control system

Publications (2)

Publication Number Publication Date
JP2021166637A JP2021166637A (en) 2021-10-21
JP7335850B2 true JP7335850B2 (en) 2023-08-30

Family

ID=78079997

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020071175A Active JP7335850B2 (en) 2020-04-10 2020-04-10 High fever detection method, high fever detection device, and high fever detection system
JP2023131979A Pending JP2023138864A (en) 2020-04-10 2023-08-14 Edge computer having diversity and edge computer control system

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023131979A Pending JP2023138864A (en) 2020-04-10 2023-08-14 Edge computer having diversity and edge computer control system

Country Status (1)

Country Link
JP (2) JP7335850B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006231065A (en) 2005-02-25 2006-09-07 Agilent Technol Inc System and method for detecting thermal anomaly
JP2011177500A (en) 2010-02-05 2011-09-15 Cascom:Kk Body temperature management system
JP2013046668A (en) 2011-08-29 2013-03-07 Toshiba Corp Health management system
WO2016170984A1 (en) 2015-04-20 2016-10-27 シャープ株式会社 Monitoring system, monitoring device, and monitoring method
WO2020023289A1 (en) 2018-07-26 2020-01-30 Eli Lilly And Company Systems and methods for remote prescription of medication-dosing regimens
WO2020050397A1 (en) 2018-09-06 2020-03-12 Necソリューションイノベータ株式会社 Biological information management device, biological information management method, program and recording medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006231065A (en) 2005-02-25 2006-09-07 Agilent Technol Inc System and method for detecting thermal anomaly
JP2011177500A (en) 2010-02-05 2011-09-15 Cascom:Kk Body temperature management system
JP2013046668A (en) 2011-08-29 2013-03-07 Toshiba Corp Health management system
WO2016170984A1 (en) 2015-04-20 2016-10-27 シャープ株式会社 Monitoring system, monitoring device, and monitoring method
WO2020023289A1 (en) 2018-07-26 2020-01-30 Eli Lilly And Company Systems and methods for remote prescription of medication-dosing regimens
WO2020050397A1 (en) 2018-09-06 2020-03-12 Necソリューションイノベータ株式会社 Biological information management device, biological information management method, program and recording medium

Also Published As

Publication number Publication date
JP2021166637A (en) 2021-10-21
JP2023138864A (en) 2023-10-02

Similar Documents

Publication Publication Date Title
US11423174B2 (en) Unified control and validation of privacy-impacting devices
US10885758B2 (en) Proximity-based personnel safety system and method
US11481571B2 (en) Automated localized machine learning training
JP5305665B2 (en) Method, system, and program for alerting a monitored user of a monitored user's behavior indicative of harmful behavior
CN109074405A (en) Utilize the Dynamic Management of the processing based on context
CN105637522B (en) Access control is driven using the world of trusted certificate
JP2010157119A (en) Monitoring device, monitoring method, and monitoring program
Mansoor et al. A machine learning approach for non-invasive fall detection using Kinect
Huang et al. Intelligent video surveillance of tourist attractions based on virtual reality technology
KR20210046394A (en) Method of monitoring infant and apparatuses performing the same
JP7335850B2 (en) High fever detection method, high fever detection device, and high fever detection system
US11501573B1 (en) Pose-based personal equipment detection
US11462319B2 (en) Sterilization process management
WO2021229372A1 (en) Personal protective equipment training system with user-specific augmented reality content construction and rendering
Kanakaprabha et al. IoT based solution for effective social distancing and contact tracing for COVID-19 prevention
Saidi et al. Adopting the Internet of Things Technology to Remotely Monitor COVID-19 Patients
Quak et al. IoT-Based Tracing and Communication Platform for Disease Control
Wu et al. Enhancing Mall Security Based on Augmented Reality in the Post-pandemic World
JP2021135918A (en) Module control method, micro-service control application, edge computer, service providing method, service providing platform, and cooperative work support method
Ponnusamy et al. Wearable Devices, Surveillance Systems, and AI for Women's Wellbeing
Greaves et al. Digital Twin Monitoring for Cyber-Physical Access Control
JP2022041765A (en) Spectacle-type device, program, and display control device
WO2024110784A1 (en) Computerized systems and methods for location management
CN116756558A (en) Training method of associated party identification model, associated party identification method and device
CN115459952A (en) Attack detection method, electronic device, and computer-readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230818

R150 Certificate of patent or registration of utility model

Ref document number: 7335850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150