WO2024009442A1 - 判定装置、判定方法、および、判定プログラム - Google Patents

判定装置、判定方法、および、判定プログラム Download PDF

Info

Publication number
WO2024009442A1
WO2024009442A1 PCT/JP2022/026885 JP2022026885W WO2024009442A1 WO 2024009442 A1 WO2024009442 A1 WO 2024009442A1 JP 2022026885 W JP2022026885 W JP 2022026885W WO 2024009442 A1 WO2024009442 A1 WO 2024009442A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
unit
decoded
learning
image
Prior art date
Application number
PCT/JP2022/026885
Other languages
English (en)
French (fr)
Inventor
美尋 内田
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/026885 priority Critical patent/WO2024009442A1/ja
Publication of WO2024009442A1 publication Critical patent/WO2024009442A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Definitions

  • the present invention relates to a determination device, a determination method, and a determination program for determining whether input data is data of an image to be recognized.
  • FIG. 1 For example, as shown in FIG. 1, consider a system that analyzes a meeting using the results of facial expression recognition of the facial part of input data.
  • this system receives an image of a dog's face, which is not normally a target for expression recognition, the system performs expression recognition on the image of the dog's face and says, ⁇ This is a good meeting because the participants are feeling positive.'' ” is output as a recognition result. Since the dog is not a participant in the meeting, the above output will be meaningless.
  • Autoencoder is an algorithm for dimensionality reduction using neural networks.
  • the autoencoder can be If the autoencoder learns only from data, it should not be able to decode data from images that are not recognized.
  • a 28x28-dimensional data space pixel space
  • a low-dimensional data space latent space
  • images of objects that the autoencoder has learned can be decoded from a low-dimensional data space
  • images of objects that the autoencoder has not learned can be decoded from a low-dimensional data space.
  • the above-mentioned conventional technology attempts the above-mentioned determination based on the manifold hypothesis that "data in the real world can be represented in a data space with a lower dimension than the data space concerned."
  • the data of the image to be recognized can be represented by the minimum necessary number of dimensions, the above determination should be possible.
  • the present invention includes an encoding unit that converts input data into data with a lower dimension than the input data, and an embedding unit that embeds the data converted by the encoding unit on a manifold. , an autoencoder having a decoding unit that decodes the data embedded by the embedding unit into original dimensional data, and an image of the object to be recognized as learning data, so that the data decoded by the decoding unit is A data identification unit that is close to the input data that is the source of the data and that identifies whether the input data is the decoded data does not identify the input data as the decoded data. As shown in FIG.
  • an error evaluation unit that evaluates an error between an image of data decoded by the unit and an image of input data that is the source of the data; and if the evaluated error is larger than a predetermined threshold, the input data is
  • the present invention is characterized by comprising a determination processing unit that determines that the image data is not the recognition target image, and an output processing unit that outputs the determination result.
  • FIG. 1 is a diagram illustrating an example of a conference analysis system that utilizes facial expression recognition.
  • FIG. 2 is a diagram illustrating an example of a data space (pixel space) and a low-dimensional data space (latent space).
  • FIG. 3 is a diagram showing an example of input data of an autoencoder and its decoded data.
  • FIG. 4 is a diagram showing an example of the configuration of the determination device.
  • FIG. 5 is a diagram illustrating an example of a processing procedure during learning of the determination device.
  • FIG. 6 is a diagram illustrating an example of a processing procedure at the time of determination by the determination device.
  • FIG. 7 is a diagram showing the results of evaluating the determination accuracy of the comparison example and the determination device using AUROC.
  • FIG. 8 is a diagram showing a computer that executes a program.
  • the determination device of this embodiment embeds data obtained by encoding input data on a manifold, and decodes data sampled from the manifold.
  • the determination device samples from the manifold, there is a possibility that data of an image that is not to be recognized may be decoded.
  • the determination device performs the following learning using the data of the image to be recognized. For example, the determination device trains the data identification unit to accurately identify whether input data is decoded data or original data. Further, the determination device learns so that decoded data generated from data sampled from the manifold is not identified as decoded data by the data identification unit.
  • the determination device can generate decoded data that is exactly like the original data from the data sampled from the manifold regarding the data of the image to be recognized.
  • the decoding error error between the original data and decoded data
  • the determination device can accurately determine whether the input data is data of an image to be recognized.
  • the determination device 10 determines whether input data is data to be recognized.
  • the determination device 10 includes an input/output section 11, a storage section 12, and a control section 13.
  • the input/output unit 11 serves as an interface for the determination device 10 to receive and output various types of information.
  • the input/output unit 11 receives inputs such as learning data of the control unit 13 (image data of an object to be recognized), data to be determined by the control unit 13, and the like. Further, the input/output unit 11 outputs the processing result by the control unit 13. For example, the input/output unit 11 outputs the result of the determination made by the control unit 13 (the result of determining whether the input data is data of an image to be recognized).
  • the storage unit 12 stores various information and programs used when the control unit 13 operates, and various information obtained as a result of the operation of the control unit 13.
  • the storage unit 12 is, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk.
  • the storage unit 12 stores, for example, learning data input via the input/output unit 11. Furthermore, the storage unit 12 stores, for example, parameters of the encoding unit 131 and the decoding unit 133 learned by the control unit 13.
  • the control unit 13 controls the entire determination device 10 .
  • the control unit 13 includes an autoencoder 130, a data identification unit 134, a learning unit 135, an error evaluation unit 136, a determination processing unit 137, and an output processing unit 138.
  • the functions of each section described above are realized, for example, by the CPU of the determination device 10 executing a program stored in the storage section of the determination device 10.
  • the autoencoder 130 After encoding input data, the autoencoder 130 embeds the encoded data on a manifold and decodes data sampled from the manifold.
  • This autoencoder 130 includes an encoding section 131, a manifold embedding section 132, and a decoding section 133.
  • the encoding unit 131 encodes input data. For example, the encoding unit 131 converts input data into data having a lower dimension than the input data. This encoding unit 131 is trained by a learning unit 135 so that the decoded data output by the decoding unit 133 matches the data (original data) that is the basis of the decoded data. Further, the encoding unit 131 is trained by the learning unit 135 so that the data identifying unit 134 does not identify the data output from the decoding unit 133 as decoded data.
  • the manifold embedding unit 132 embeds the data (low-dimensional data) converted by the encoding unit 131 onto the manifold. For example, upon receiving low-dimensional data of learning data from the encoding unit 131, the manifold embedding unit 132 embeds the data on the manifold.
  • This manifold is, for example, a hypersphere.
  • the manifold embedding unit 132 may be installed in the encoding unit 131 through learning or the like. For example, when the encoding unit 131 equipped with the manifold embedding unit 132 described above embeds data in a hypersphere, the L2 norm of the output of the encoding unit 131 is Make the radius of the sphere R.
  • the learning unit 135 learns the encoding unit 131 so that the loss L ring shown in equation (1) below is as small as possible.
  • x is data input to the encoding unit 131
  • f(x) is data (feature vector) output from the encoding unit 131.
  • the encoding unit 131 may normalize the L2 norm of the output of the encoding unit 131 to be the radius R. In this case, the encoding unit 131 normalizes the length of the feature vector (
  • the decoding unit 133 decodes the low-dimensional data into original dimensional data. For example, the decoding unit 133 decodes data that has been converted into low-dimensional data by the encoding unit 131 and then embedded on the manifold by the manifold embedding unit 132 into original dimensional data.
  • the decoding unit 133 is trained by the learning unit 135 so that the decoded data matches the original data of the decoded data. Further, the decoding unit 133 is trained by the learning unit 135 so that the data output from the decoding unit 133 is not identified as decoded data by the data identifying unit 134.
  • the decoding unit 133 receives not only data output from the encoding unit 131 and embedded in the manifold in the manifold embedding unit 132, but also random coordinates on the manifold ( For example, data at additional coordinates shown in FIG. 5 is also decoded.
  • the data identification unit 134 identifies whether the input data is data output by the decoding unit 133 (decoded data).
  • the data identification unit 134 is trained by the learning unit 135 to accurately identify whether input data is decoded data or not. For example, the data identification unit 134 is trained to accurately identify whether input data is decoded data using the decoded data output by the decoding unit 133 and its original data as learning data.
  • the learning unit 135 performs learning for the encoding unit 131 and the decoding unit 133 using the image of the object to be recognized as learning data. For example, the learning unit 135 trains the encoding unit 131 and the decoding unit 133 so that the data decoded by the decoding unit 133 approaches the input data (original data) that is the source of the data.
  • the learning unit 135 also performs learning of the encoding unit 131 and the decoding unit 133 using the data identification unit 134. For example, the learning unit 135 trains the data identifying unit 134 to accurately identify whether the data output from the decoding unit 133 is decoded data. Further, the learning unit 135 performs learning on the encoding unit 131 and the decoding unit 133 so that the data output from the decoding unit 133 is not identified by the data identification unit 134 as decoded data.
  • the learning unit 135 learns the data identification unit 134, the encoding unit 131, and the decoding unit 133, for example, as follows.
  • - Data identification unit 134 Learns to minimize the loss term (L disc ) for identifying decoded data or original data.
  • - Decoding unit 133 Learns to make the loss function L dec of the following equation (4) as small as possible so as to bring the decoded data closer to the original data (L recon ) and fool the data identification unit 134 (-L disc ).
  • the learning unit 135 alternately performs, for example, the above-described learning of the data identification unit 134 and the learning of the encoding unit 131 and the decoding unit 133.
  • the decoding unit 133 generates decoded data that is exactly the same as the original data for the image data of the object to be recognized.
  • the error evaluation unit 136 evaluates the error between the image of the data decoded by the decoding unit 133 (decoded data) and the image of the input data (original data) that is the source of the data. For example, the error evaluation unit 136 calculates the mean square error between the decoded data image and the original data image.
  • the determination processing unit 137 determines whether the error between the decoded data image and the original data image evaluated by the error evaluation unit 136 is larger than a predetermined threshold value. If the determination processing unit 137 determines that the above error is larger than a predetermined threshold, it determines that the original data (input data) is not the data of the image to be recognized. On the other hand, if the determination processing unit 137 determines that the above error is less than or equal to the predetermined threshold, it determines that the input data is data of an image to be recognized.
  • the output processing unit 138 outputs the result of the determination by the determination processing unit 137 as to whether the input data is data of an image to be recognized.
  • the learning data is, for example, data of an image of an object to be recognized.
  • the encoding unit 131 of the determination device 10 Upon receiving input of learning data, the encoding unit 131 of the determination device 10 converts the data into low-dimensional data (S1: encoding). Then, the manifold embedding unit 132 embeds the data converted in S1 into the manifold (S2: manifold embedding). After that, the decoding unit 133 decodes the data embedded in the manifold in S2 into data of the original dimension (S3: decoding). Furthermore, the decoding unit 133 decodes additional coordinates (noise) on the manifold (S3: decoding).
  • the data identification unit 134 identifies (determines) whether the input data is original data or decoded data (S4: data identification).
  • the learning unit 135 performs learning of the encoding unit 131 and the decoding unit 133 so that the data decoded by the decoding unit 133 approaches the original data in the above processes S1 to S4.
  • the learning unit 135 trains the data identifying unit 134 so that the data identifying unit 134 can accurately identify whether the data output from the decoding unit 133 is original data or decoded data. Further, the learning unit 135 performs learning on the encoding unit 131 and the decoding unit 133 so that the data identifying unit 134 does not identify the data output from the decoding unit 133 as decoded data.
  • the encoding unit 131 of the determination device 10 converts the data into low-dimensional data (S11: encoding). Then, the manifold embedding unit 132 embeds the data converted in S11 onto the manifold (S12: manifold embedding). After that, the decoding unit 133 decodes the data embedded on the manifold in S12 into data of the original dimension (S13: decoding).
  • the error evaluation unit 136 evaluates the error between the image of the data decoded in S13 and the image of the original data of the decoded data (S14: error evaluation). Then, the determination processing unit 137 determines whether the error evaluated by the error evaluation unit 136 is larger than a predetermined threshold value. If the determination processing unit 137 determines that the above error is larger than a predetermined threshold, it determines that the original data (input data) is not the data of the image to be recognized. On the other hand, if the determination processing unit 137 determines that the above error is less than or equal to the predetermined threshold, it determines that the input data is data of an image to be recognized (S15: determination processing). Then, the output processing unit 138 outputs the determination result of S15 (S16: output processing).
  • the determination device 10 can accurately determine whether the input data is data of an image to be recognized.
  • the determination device 10 of this embodiment As shown in FIG. 7, it was confirmed that according to the determination device 10 of this embodiment, the AUROC value was improved compared to the comparative example. From this, it was confirmed that the determination device 10 of this embodiment can accurately determine whether input data is data of an image to be recognized.
  • each component of each part shown in the drawings is functionally conceptual, and does not necessarily need to be physically configured as shown in the drawings.
  • the specific form of distributing and integrating each device is not limited to what is shown in the diagram, and all or part of the devices can be functionally or physically distributed or integrated in arbitrary units depending on various loads, usage conditions, etc. Can be integrated and configured.
  • all or any part of each processing function performed by each device may be realized by a CPU and a program executed by the CPU, or may be realized as hardware using wired logic.
  • the determination device 10 described above can be implemented by installing a program (determination program) in a desired computer as packaged software or online software. For example, by causing the information processing device to execute the above program, the information processing device can be made to function as the determination device 10.
  • the information processing device referred to here includes mobile communication terminals such as smartphones, mobile phones, and PHSs (Personal Handyphone Systems), as well as terminals such as PDAs (Personal Digital Assistants).
  • FIG. 8 is a diagram showing an example of a computer that executes the determination program.
  • Computer 1000 includes, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These parts are connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012.
  • the ROM 1011 stores, for example, a boot program such as BIOS (Basic Input Output System).
  • Hard disk drive interface 1030 is connected to hard disk drive 1090.
  • Disk drive interface 1040 is connected to disk drive 1100.
  • Serial port interface 1050 is connected to, for example, mouse 1110 and keyboard 1120.
  • Video adapter 1060 is connected to display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process executed by the determination device 10 described above is implemented as a program module 1093 in which computer-executable code is written.
  • Program module 1093 is stored in hard disk drive 1090, for example.
  • a program module 1093 for executing processing similar to the functional configuration of the determination device 10 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the data used in the processing of the embodiment described above is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads out the program module 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary and executes them.
  • program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1100 or the like.
  • the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). The program module 1093 and program data 1094 may then be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network
  • Judgment device 11 Input/output section 12 Storage section 13 Control section 130 Autoencoder 131 Encoding section 132 Manifold embedding section 133 Decoding section 134 Data identification section 135 Learning section 136 Error evaluation section 137 Judgment processing section 138 Output processing section

Abstract

判定装置は、認識対象とする物体の画像を学習データとして用いて、入力データを低次元のデータに変換し、低次元のデータに変換したデータを超球体等の多様体上に埋め込み、多様体上からサンプリングして復号したデータが、学習データのようになるように学習する。ここで、判定装置は、データ識別部に、入力されたデータが復号データであると見破られないように、上記の学習を行う。学習後、判定装置は、入力データの画像とその復号データの画像との誤差が所定の閾値よりも大きい場合、入力データは、認識対象の画像のデータではないと判定する。

Description

判定装置、判定方法、および、判定プログラム
 本発明は、入力データが認識対象の画像のデータか否かを判定するための、判定装置、判定方法、および、判定プログラムに関する。
 画像認識等において、入力されたデータが認識対象の画像のデータか否かを判定することが重要である。例えば、人間の表情の認識を行う認識器に、人間以外の動物の画像のデータが入力された場合、誤った認識結果を出力してしまうおそれがある。
 例えば、図1に示すように、入力データの顔部分の表情認識の結果を用いて会議の解析を行うシステムを考える。このシステムに、本来、表情認識の対象ではない犬の顔の画像が入力されると、システムは、犬の顔の画像に表情認識を行い「参加者はポジティブな感情なので、今はいい会議です」という認識結果を出力してしまう。犬は会議の参加者ではないため、上記の出力は意味のない出力となる。
 ここで、従来、入力データが認識対象の画像のデータか否かの判定を行うため、オートエンコーダ(自己符号化器)を用いる技術が提案されている。オートエンコーダは、ニューラルネットワークを使用した次元圧縮のためのアルゴリズムである。
 オートエンコーダが学習した対象物の画像は低次元のデータ空間から復号できる一方で、学習していない対象物の画像は低次元のデータ空間から復号できないと仮定すると、オートエンコーダを認識対象の画像のデータのみで学習すれば、オートエンコーダは認識対象外の画像のデータは復号できないはずである。
 例えば、図2に示す、認識対象外の画像も表現できる28×28次元のデータ空間(ピクセル空間)と、認識対象の画像のみを表現できる低次元のデータ空間(潜在空間)とを考える。この場合、オートエンコーダが学習した対象物(認識対象の物体)の画像は低次元のデータ空間から復号できる一方で、オートエンコーダが学習しなかった対象物(認識対象外の物体)の画像は低次元のデータ空間から復号できない。
 よって、オートエンコーダに認識対象の物体の画像の学習を行うことで、入力データが認識対象の画像のデータか否かを判定できると考えられる。
Paul Bergmann, et al., " MVTec AD A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection", Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019. Goodfellow, Ian, et al., "Generative Adversarial Nets", Advances in neural information processing systems 27 (2014). Yutong Zheng, et al., "Ring loss: Convex Feature Normalization for Face Recognition", Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.
 しかし、上記の従来技術は、「現実世界のデータは当該データ空間よりも低次元のデータ空間で表せる」という多様体仮説に基づいて上記の判定を試みている。言い換えれば、認識対象の画像のデータを必要最低限の次元数で表すことができれば、上記の判定を行うことができるはずである。しかし、認識対象の画像のデータを表すための必要最低限の次元数を見つけることは困難である。そのため、入力データが認識対象の画像のデータか否かの判定精度が低くなってしまうという問題があった。
 そこで、前記した問題を解決し、入力データが認識対象の画像のデータか否かの判定精度を向上させることを課題とする。
 前記した課題を解決するため、本発明は、入力データを前記入力データよりも低次元のデータに変換する符号化部と、前記符号化部により変換されたデータを多様体上に埋め込む埋め込み部と、前記埋め込み部により埋め込まれたデータを元の次元のデータに復号する復号部とを有するオートエンコーダと、認識対象とする物体の画像を学習データとして用いて、前記復号部により復号されたデータが前記データの元になった入力データに近づき、かつ、入力されたデータが前記復号されたデータか否かを識別するデータ識別部に、前記入力されたデータが復号されたデータであると識別されないように、前記符号化部および前記復号部の学習を行う学習部と、学習後の前記符号化部により変換された後、前記多様体埋め込み部により多様体上に埋め込まれ、学習後の前記復号部により復号されたデータの画像と、前記データの元となった入力データの画像との誤差を評価する誤差評価部と、評価した前記誤差が所定の閾値よりも大きい場合、前記入力データは、前記認識対象の画像のデータではないと判定する判定処理部と、前記判定結果を出力する出力処理部と、を備えることを特徴とする。
 本発明によれば、入力データが認識対象の画像のデータか否かの判定精度を向上させることができる。
図1は、表情認識を活用した会議解析システムの例を示す図である。 図2は、データ空間(ピクセル空間)と、低次元のデータ空間(潜在空間)の例を説明する図である。 図3は、オートエンコーダの入力データとその復号データの例を示す図である。 図4は、判定装置の構成例を示す図である。 図5は、判定装置の学習時の処理手順の例を示す図である。 図6は、判定装置の判定時の処理手順の例を示す図である。 図7は、比較例と判定装置の判定精度をAUROCで評価した結果を示す図である。 図8は、プログラムを実行するコンピュータを示す図である。
 以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。本発明は、本実施形態に限定されない。
 まず、図3を用いて、オートエンコーダに、入力データの画像の認識(例えば、入力データの画像のカテゴリラベルの予測)機能を付加した技術の問題点を説明する。例えば、従来技術では認識対象(例えば、人物の顔)の画像で学習を行っても、認識対象外(例えば、犬の顔)の画像も比較的精度よく復号できてしまうことがある。例えば、オートエンコーダが人物の顔の画像で学習を行った場合、図3に示すように、犬の顔の画像も比較的精度よく復号できてしまうことがある。その結果、従来技術では、入力データが認識対象の画像のデータか否かを精度よく判定できないという問題があった。
 このような問題が発生する原因としては、認識対象のデータを表すための必要最低限の次元数を見つけることが困難であるという問題がある。
 この問題を解決するため、本実施形態の判定装置は、入力データを符号化したデータを多様体上に埋め込み、その多様体上からサンプリングしたデータを復号する。ここで、判定装置が、多様体からサンプリングしても認識対象外の画像のデータが復号できてしまう可能性もある。
 そこで、判定装置は、認識対象の画像のデータを用いて以下のような学習を行う。例えば、判定装置は、入力されたデータが、復号データか元のデータかを精度よく識別するようデータ識別部を学習する。また、判定装置は、多様体からサンプリングしたデータから生成した復号データが、上記のデータ識別部により復号データであると識別されないよう学習する。
 これにより、判定装置は、認識対象の画像のデータに関し、多様体からサンプリングしたデータから元のデータにそっくりな復号データを生成することができる。その結果、認識対象外の画像のデータの復号誤差(元のデータと復号データとの誤差)は、認識対象の画像のデータの復号誤差よりも大きくなる。したがって、判定装置は、入力データが認識対象の画像のデータか否かを精度よく判定することができる。
[構成例]
 次に、図4を用いて、判定装置10の構成例を説明する。判定装置10は、入力データが認識対象のデータか否かの判定を行う。判定装置10は、入出力部11、記憶部12および制御部13を備える。
[入出力部]
 入出力部11は、判定装置10が各種情報の入力を受け付けたり、出力したりする際のインタフェースを司る。例えば、入出力部11は、制御部13の学習データ(認識対象の物体の画像のデータ)、制御部13の判定対象のデータ等の入力を受け付ける。また、入出力部11は、制御部13による処理結果を出力する。例えば、入出力部11は、制御部13における判定の結果(入力データが認識対象の画像のデータか否かの判定結果)を出力する。
[記憶部]
 記憶部12は、制御部13が動作する際に用いる各種情報やプログラム、制御部13が動作した結果得られた各種情報を記憶する。ここで、記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置等である。
 記憶部12は、例えば、入出力部11経由で入力された学習データを記憶する。また、記憶部12は、例えば、制御部13により学習された符号化部131および復号部133のパラメータ等を記憶する。
[制御部]
 制御部13は、判定装置10全体の制御を司る。制御部13は、オートエンコーダ130、データ識別部134、学習部135、誤差評価部136、判定処理部137、および、出力処理部138を備える。上記の各部の機能は、例えば、判定装置10のCPUが、判定装置10の記憶部に記憶されるプログラムを実行することにより実現される。
[オートエンコーダ]
 オートエンコーダ130は、入力データの符号化を行った後、符号化したデータを多様体上に埋め込み、多様体上からサンプリングしたデータを復号する。このオートエンコーダ130は、符号化部131、多様体埋め込み部132、および、復号部133を備える。
[符号化部]
 符号化部131は、入力データの符号化を行う。例えば、符号化部131は、入力データを当該入力データよりも低次元のデータに変換する。この符号化部131は、復号部133により出力される復号データが、当該復号データの元になったデータ(元のデータ)に一致するように学習部135により学習される。また、符号化部131は、データ識別部134に、復号部133から出力されるデータが復号データであると識別されないように、学習部135により学習される。
[多様体埋め込み部]
 多様体埋め込み部132は、符号化部131により変換されたデータ(低次元のデータ)を多様体上に埋め込む。例えば、多様体埋め込み部132は、符号化部131から学習データの低次元のデータを受け取ると、当該データを多様体上に埋め込む。この多様体は、例えば、超球面である。
 なお、多様体埋め込み部132は、学習等により符号化部131に装備されてもよい。例えば、上記の多様体埋め込み部132が装備された符号化部131により、データを超球面に埋め込む場合、非特許文献3に記載の技術を用いて、符号化部131の出力のL2ノルムが超球面の半径Rになるようにする。
 この場合、例えば、学習部135は、以下の式(1)に示す損失Lringができるだけ小さくなるよう符号化部131を学習する。なお、xは符号化部131に入力されるデータであり、f(x)は符号化部131により出力されるデータ(特徴ベクトル)である。
Figure JPOXMLDOC01-appb-M000001
 また、符号化部131は、符号化部131の出力のL2ノルムが、半径Rになるように正規化してもよい。この場合、符号化部131は、以下の式(2)に基づき、特徴ベクトルの長さ(||f(x)||)が半径Rと一致するように正規化する。
Figure JPOXMLDOC01-appb-M000002
[復号部]
 復号部133は、低次元のデータを元の次元のデータに復号する。例えば、復号部133は、符号化部131により低次元のデータに変換された後、多様体埋め込み部132より多様体上に埋め込まれたデータを元の次元のデータに復号する。
 復号部133は、復号データが、当該復号データの元データに一致するように学習部135により学習される。また、復号部133は、復号部133から出力されるデータがデータ識別部134により復号データであると識別されないように学習部135により学習される。
 なお、復号部133は、当該復号部133の学習の過程において、符号化部131により出力され、多様体埋め込み部132に多様体に埋め込まれたデータだけでなく、多様体上のランダムな座標(例えば、図5に示す追加座標)のデータも復号する。
[データ識別部]
 データ識別部134は、入力されたデータが、復号部133により出力されたデータ(復号データ)か否かを識別する。このデータ識別部134は、入力されたデータが復号データか否かを精度よく識別するように、学習部135により学習される。例えば、復号部133により出力された復号データとその元データとを学習データとして用いて、データ識別部134が入力されたデータが復号データか否かを精度よく識別するよう学習される。
[学習部]
 学習部135は、認識対象とする物体の画像を学習データとして用いて、符号化部131および復号部133の学習を行う。例えば、学習部135は、復号部133が復号したデータが当該データの元になった入力データ(元データ)に近づくように、符号化部131および復号部133の学習を行う。
 また、学習部135は、データ識別部134を用いた符号化部131および復号部133の学習も行う。例えば、学習部135は、データ識別部134に対し、復号部133から出力されるデータが復号データか否かを精度よく識別するように学習を行う。また、学習部135は、符号化部131および復号部133に対し、復号部133から出力されるデータが復号データであるとデータ識別部134に識別されないように学習を行う。
 学習部135は、例えば、以下のようにして、データ識別部134、符号化部131および復号部133を学習する。
・データ識別部134:復号データか元データかを識別するための損失項(Ldisc)をできるだけ小さくするよう学習する。
・符号化部131:復号データを元データに近づけ(Lrecon)、かつ、低次元データを多様体上に埋め込み(Lmanifold)、かつ、データ識別部134をだます(-Ldisc)ため、以下の式(3)の損失関数Lencをできるだけ小さくするよう学習する。
Figure JPOXMLDOC01-appb-M000003
・復号部133:復号データを元データに近づけ(Lrecon)、データ識別部134をだます(-Ldisc)よう、以下の式(4)の損失関数Ldecをできるだけ小さくするよう学習する。
Figure JPOXMLDOC01-appb-M000004
 学習部135は、例えば、上記のデータ識別部134の学習と、符号化部131および復号部133の学習とを交互に実行する。
 学習部135が、上記の学習を行うことにより、復号部133は、認識対象の物体の画像のデータについて、元データとそっくりな復号データを生成するようになる。
[誤差評価部]
 誤差評価部136は、復号部133により復号されたデータ(復号データ)の画像と、当該データの元となった入力データ(元データ)の画像との誤差を評価する。例えば、誤差評価部136は、復号データの画像と元データの画像との平均二乗誤差を算出する。
[判定処理部]
 判定処理部137は、誤差評価部136により評価された、復号データの画像と元データの画像との誤差が所定の閾値よりも大きいか否かを判定する。そして、判定処理部137が、上記の誤差が所定の閾値よりも大きいと判定した場合、元データ(入力データ)は、認識対象の画像のデータではないと判定する。一方、判定処理部137が、上記の誤差が所定の閾値以下であると判定した場合、入力データは、認識対象の画像のデータであると判定する。
[出力処理部]
 出力処理部138は、判定処理部137による入力データが認識対象の画像のデータか否かの判定の結果を出力する。
 このような判定装置10によれば、入力データが認識対象の画像のデータか否かを精度よく判定することができる。
[処理手順の例]
[学習時における処理手順の例]
 次に、図5を用いて判定装置10の学習時における処理手順の例を説明する。学習データは、例えば、認識対象とする物体の画像のデータである。
 判定装置10の符号化部131は、学習データの入力を受け付けると、当該データを低次元のデータに変換する(S1:符号化)。そして、多様体埋め込み部132は、S1で変換されたデータを多様体に埋め込む(S2:多様体埋め込み)。その後、復号部133は、S2で多様体に埋め込まれたデータを元の次元のデータに復号する(S3:復号)。また、復号部133は、多様体上の追加座標(ノイズ)を復号する(S3:復号)。
 そして、データ識別部134は、入力されたデータが、元データか復号されたデータかを識別(判定)する(S4:データ識別)。
 学習部135は、上記のS1~S4の処理において、復号部133が復号したデータが元データに近づくように、符号化部131および復号部133の学習を行う。
 また、学習部135は、データ識別部134が復号部133から出力されるデータが元データか復号されたデータかを精度よく識別するように、データ識別部134の学習を行う。まさらに、学習部135は、データ識別部134に、復号部133から出力されるデータが復号されたデータであると識別されないように、符号化部131および復号部133の学習を行う。
[判定時における処理手順の例]
 次に、図6を用いて、上記の学習後の判定装置10の処理手順(判定時の処理手順)の例を説明する。
 まず、判定装置10の符号化部131は、判定対象のデータ(入力データ)を受け付けると、当該データを低次元のデータに変換する(S11:符号化)。そして、多様体埋め込み部132は、S11で変換されたデータを多様体上に埋め込む(S12:多様体埋め込み)。その後、復号部133は、S12で多様体上埋め込まれたデータを元の次元のデーに復号する(S13:復号)。
 S13の後、誤差評価部136は、S13で復号されたデータの画像と、当該復号データの元データの画像との誤差を評価する(S14:誤差評価)。そして、判定処理部137は、誤差評価部136により評価された誤差が所定の閾値よりも大きいか否かを判定する。そして、判定処理部137が、上記の誤差が所定の閾値よりも大きいと判定した場合、元データ(入力データ)は、認識対象の画像のデータではないと判定する。一方、判定処理部137が、上記の誤差が所定の閾値以下であると判定した場合、入力データは、認識対象の画像のデータであると判定する(S15:判定処理)。そして、出力処理部138は、S15の判定結果を出力する(S16:出力処理)。
 判定装置10が上記の処理を行うことにより、入力データが認識対象の画像のデータか否かを精度よく判定することができる。
[実験結果]
 次に、図7を用いて判定装置10の判定精度の実験結果を説明する。本実験において、判定装置10は、Fashion MNIST(ファッションの画像)を学習データとして用いて学習した。その後、判定装置10は、Fashion MNISTおよびMNIST(手描きの数字の画像)の入力を受け付けると、入力データとその復号データとの誤差により、当該入力データがファッションの画像か否かを判定した。判定精度の評価には、AUROC(チャンスレート=0.5。1に近いほど良い性能)を用いた。比較例として、ナイーブなVAE(変分オートエンコーダ)を用いた。
 図7に示すように、本実施形態の判定装置10によれば、比較例よりもAUROCの値が向上することが確認できた。このことから、本実施形態の判定装置10によれば、入力データが認識対象の画像のデータか否かを精度よく判定できることが確認できた。
[システム構成等]
 また、図示した各部の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、前記した実施形態において説明した処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 前記した判定装置10は、パッケージソフトウェアやオンラインソフトウェアとしてプログラム(判定プログラム)を所望のコンピュータにインストールさせることによって実装できる。例えば、上記のプログラムを情報処理装置に実行させることにより、情報処理装置を判定装置10として機能させることができる。ここで言う情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等の端末等がその範疇に含まれる。
 図8は、判定プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の判定装置10が実行する各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、判定装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施形態の処理で用いられるデータは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続される他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 判定装置
 11 入出力部
 12 記憶部
 13 制御部
 130 オートエンコーダ
 131 符号化部
 132 多様体埋め込み部
 133 復号部
 134 データ識別部
 135 学習部
 136 誤差評価部
 137 判定処理部
 138 出力処理部

Claims (5)

  1.  入力データを前記入力データよりも低次元のデータに変換する符号化部と、前記符号化部により変換されたデータを多様体上に埋め込む埋め込み部と、前記埋め込み部により埋め込まれたデータを元の次元のデータに復号する復号部とを有するオートエンコーダと、
     認識対象とする物体の画像を学習データとして用いて、前記復号部により復号されたデータが前記データの元になった入力データに近づき、かつ、入力されたデータが前記復号されたデータか否かを識別するデータ識別部に、前記入力されたデータが復号されたデータであると識別されないように、前記符号化部および前記復号部の学習を行う学習部と、
     学習後の前記符号化部により変換された後、前記多様体埋め込み部により多様体上に埋め込まれ、学習後の前記復号部により復号されたデータの画像と、前記データの元となった入力データの画像との誤差を評価する誤差評価部と、
     評価した前記誤差が所定の閾値よりも大きい場合、前記入力データは、前記認識対象の画像のデータではないと判定する判定処理部と、
     前記判定結果を出力する出力処理部と、
     を備えることを特徴とする判定装置。
  2.  前記学習部は、
     前記復号部により復号されたデータと、前記データの元となった入力データとを用いて、前記データ識別部において、入力されたデータが、前記復号されたデータか否かを精度よく識別するよう、前記データ識別部を学習する
     ことを特徴とする請求項1に記載の判定装置。
  3.  前記多様体は、超球面である
     ことを特徴とする請求項1に記載の判定装置。
  4.  入力データを前記入力データよりも低次元のデータに変換する符号化部と、前記符号化部により変換されたデータを多様体上に埋め込む埋め込み部と、前記埋め込み部により埋め込まれたデータを元の次元のデータに復号する復号部と、入力されたデータが、前記復号されたデータか否かを識別するデータ識別部とを備える判定装置が、
     認識対象とする物体の画像を学習データとして用いて、前記復号部により復号されたデータが前記データの元になった入力データに近づき、かつ、前記データ識別部に、前記入力されたデータが復号されたデータであると識別されないように、前記符号化部および前記復号部の学習を行う工程と、
     学習後の前記符号化部により、入力データを前記低次元のデータに変換する工程と、
     前記埋め込み部により、前記符号化部により変換されたデータを多様体上に埋め込む工程と、
     学習後の前記復号部により、前記埋め込み部により埋め込まれたデータを元の次元のデータに復号する工程と、
     学習後の前記復号部により復号されたデータの画像と、前記データの元となった入力データの画像との誤差を評価する工程と、
     評価した前記誤差が所定の閾値よりも大きい場合、前記入力データは、前記認識対象の画像のデータではないと判定する工程と、
     前記判定の結果を出力する工程と、
     を含むことを特徴とする判定方法。
  5.  入力データを前記入力データよりも低次元のデータに変換する符号化部と、前記符号化部により変換されたデータを多様体上に埋め込む埋め込み部と、前記埋め込み部により埋め込まれたデータを元の次元のデータに復号する復号部と、入力されたデータが、前記復号されたデータか否かを識別するデータ識別部とを備えるコンピュータに、
     認識対象とする物体の画像を学習データとして用いて、前記復号部により復号されたデータが前記データの元になった入力データに近づき、かつ、前記データ識別部に、前記入力されたデータが復号されたデータであると識別されないように、前記符号化部および前記復号部の学習を行う工程と、
     学習後の前記符号化部により、入力データを前記低次元のデータに変換する工程と、
     前記埋め込み部により、前記符号化部により変換されたデータを多様体上に埋め込む工程と、
     学習後の前記復号部により、前記埋め込み部により埋め込まれたデータを元の次元のデータに復号する工程と、
     学習後の前記復号部により復号されたデータと、前記データの元となった入力データとの誤差を評価する工程と、
     評価した前記誤差が所定の閾値よりも大きい場合、前記入力データは、前記認識対象の画像のデータではないと判定する工程と、
     前記判定の結果を出力する工程と、
     を実行させるための判定プログラム。
PCT/JP2022/026885 2022-07-06 2022-07-06 判定装置、判定方法、および、判定プログラム WO2024009442A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/026885 WO2024009442A1 (ja) 2022-07-06 2022-07-06 判定装置、判定方法、および、判定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/026885 WO2024009442A1 (ja) 2022-07-06 2022-07-06 判定装置、判定方法、および、判定プログラム

Publications (1)

Publication Number Publication Date
WO2024009442A1 true WO2024009442A1 (ja) 2024-01-11

Family

ID=89453066

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/026885 WO2024009442A1 (ja) 2022-07-06 2022-07-06 判定装置、判定方法、および、判定プログラム

Country Status (1)

Country Link
WO (1) WO2024009442A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013449A (ja) * 2018-07-20 2020-01-23 日本電信電話株式会社 異常検知装置、異常検知方法、およびプログラム
JP2021196711A (ja) * 2020-06-10 2021-12-27 日立造船株式会社 情報処理装置、判定方法、および情報処理プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013449A (ja) * 2018-07-20 2020-01-23 日本電信電話株式会社 異常検知装置、異常検知方法、およびプログラム
JP2021196711A (ja) * 2020-06-10 2021-12-27 日立造船株式会社 情報処理装置、判定方法、および情報処理プログラム

Similar Documents

Publication Publication Date Title
US11704409B2 (en) Post-training detection and identification of backdoor-poisoning attacks
CN111160313B (zh) 一种基于lbp-vae异常检测模型的人脸表示攻击检测方法
US20210125005A1 (en) System and method for protection and detection of adversarial attacks against a classifier
CN109684853B (zh) 用于确定和提供图像内的匿名内容的装置和方法
KR20200052453A (ko) 딥러닝 모델 학습 장치 및 방법
JP2008102611A (ja) 画像処理装置
US20230076017A1 (en) Method for training neural network by using de-identified image and server providing same
CN113283368B (zh) 一种模型训练方法、人脸属性分析方法、装置及介质
US20210271755A1 (en) Detecting device and detecting method
CN112149754B (zh) 一种信息的分类方法、装置、设备及存储介质
CN109492610B (zh) 一种行人重识别方法、装置及可读存储介质
WO2009034498A1 (en) Method for transforming a feature vector
CN115913643A (zh) 一种基于对抗自编码器的网络入侵检测方法、系统及介质
Berg et al. Searching for Hidden Messages: Automatic Detection of Steganography.
CN114358249A (zh) 目标识别模型训练、目标识别方法及装置
CN113689527B (zh) 一种人脸转换模型的训练方法、人脸图像转换方法
WO2024009442A1 (ja) 判定装置、判定方法、および、判定プログラム
CN111652320B (zh) 一种样本分类方法、装置、电子设备及存储介质
CN111507420A (zh) 轮胎信息获取方法、装置、计算机设备和存储介质
JP7063052B2 (ja) 適合度算出プログラム、適合度算出方法、適合度算出装置、識別プログラム、識別方法及び識別装置
CN116109534A (zh) 对抗补丁生成方法、电子设备及计算机可读存储介质
Lee et al. Robust face anti-spoofing framework with Convolutional Vision Transformer
JPWO2018151124A1 (ja) パラメタ算出装置、パラメタ算出方法、及び、パラメタ算出プログラム
Dar et al. Real time face authentication system using stacked deep auto encoder for facial reconstruction
WO2021250774A1 (ja) 学習装置、予測装置、学習方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22950236

Country of ref document: EP

Kind code of ref document: A1