Inspection image storage system and inspection image storage method
The inspection image storage system addresses the challenge of scalability in compression processing by utilizing multiple image compression units and a compression management unit to distribute processing loads, ensuring efficient and real-time image compression and storage.
Patent Information
- Application Number
- PCT/JP2023/041966
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-22
- Publication Date
- 2025-05-30
AI Technical Summary
Existing inspection image storage systems face challenges in ensuring scalability of the compression processing performance due to the sequential execution of compression and storage processes by a single hardware or system, leading to increased processing load and difficulty in real-time processing.
The proposed inspection image storage system includes an image acquisition unit, multiple image compression units, a compression management unit that assigns inspection images to available compression units, and a storage unit. This architecture allows for the distribution of processing across multiple compression units connected via a communication network, ensuring scalability and flexibility.
The system effectively ensures scalability of the compression processing performance by distributing the processing load across multiple image compression units, enabling real-time processing and improving system efficiency.
Smart Images

Figure JP2023041966_30052025_PF_FP_ABST
Abstract
Description
Inspection image storage system and inspection image storage method
[0001] The present disclosure relates to an inspection image storage system and an inspection image storage method.
[0002] In recent years, there has been a demand for the storage of all inspection images of manufactured products to ensure the traceability of manufactured products. Because inspection images have large data sizes, they must be compressed before storage to prevent storage capacity from becoming overwhelmed. However, in the case of common lossless image compression methods such as PNG (Portable Network Graphics) format, increasing the number of images to be compressed or the compression ratio increases the processing load, making real-time processing difficult for general-purpose CPUs. Therefore, technologies for real-time processing using dedicated hardware, systems, etc. are known. For example, Patent Document 1 discloses a technology for quickly and easily storing image data by a storage device compressing, adding information, and packing image data input from a camera according to preset parameters, and then transmitting the data to an external storage device.
[0003] JP 2013-164641 A
[0004] As described above, in conventional technology, the processes from compression to storage of inspection images are performed using a single piece of hardware, such as a system that executes processing sequentially, which creates the problem of being unable to ensure scalability in the compression and storage processing performance of inspection images.
[0005] The present disclosure has been made in consideration of the above circumstances, and aims to provide an inspection image storage system and an inspection image storage method that can ensure scalability of compression processing performance for inspection images.
[0006] In order to achieve the above-mentioned object, the inspection image storage system of the present disclosure comprises an image acquisition means for acquiring inspection images, a plurality of image compression means for compressing the inspection images, a compression management means for selecting an image compression means to compress the inspection image from the plurality of image compression means, assigning the inspection image to the image compression means to which the inspection image is assigned, and a storage means for storing compressed inspection images that are inspection images compressed by the image compression means, wherein the image compression means is connected to the compression management means and the storage means via a communication network and compresses the inspection image sent by the compression management means.
[0007] According to the present disclosure, it is possible to provide an inspection image storage system and an inspection image storage method that can ensure scalability of the compression processing performance of inspection images.
[0008] FIG. 1 is a diagram showing an inspection image storage system according to the first embodiment; FIG. 2 is a block diagram showing the hardware configuration of an information processing device according to the embodiment; FIG. 2 is a diagram showing an example of inspection image allocation according to the first embodiment; FIG. 3 is a diagram showing another example of inspection image allocation according to the first embodiment; FIG. 3 is a diagram showing an example of management of a list of inspection images awaiting compression processing according to the first embodiment; FIG. 4 is a diagram showing an inspection image storage system according to the second embodiment; FIG. 4 is a diagram showing an inspection image storage system according to the third embodiment;
[0009] (Embodiment 1) An inspection image storage system 1 according to embodiment 1 is a system for storing all inspection images. As shown in FIG. 1, the inspection image storage system 1 functionally includes an image acquisition unit 100, a compression management unit 200, image compression units 300-1 to 300-N (N is a natural number greater than or equal to 2), a storage unit 400, and an engineering unit 500. Hereinafter, the image compression units 300-1 to 300-N will be collectively referred to as image compression unit 300, except when referring to a specific image compression unit. The image acquisition unit 100, compression management unit 200, image compression unit 300, storage unit 400, and engineering unit 500 are each implemented on different information processing devices. The image compression unit 300 is connected to the compression management unit 200 and the storage unit 400 via a communication network (not shown). The compression management unit 200 is also connected to the image acquisition unit 100 and the engineering unit 500 via a communication network (not shown).
[0010] FIG. 2 shows an example of the hardware configuration of the information processing device 10 in which the image acquisition unit 100, compression management unit 200, image compression unit 300, storage unit 400, and engineering unit 500 are realized.
[0011] The information processing device 10 has a processor 11 that executes various processes, a main memory unit 12 used as a work area for the processor 11, an auxiliary memory unit 13 that stores various data used in the processes of the processor 11, a communication unit 14 for communicating with external devices, an input unit 15 that acquires input information, and an output unit 16 that presents various information. The main memory unit 12, the auxiliary memory unit 13, the communication unit 14, the input unit 15, and the output unit 16 are all connected to the processor 11 via a bus 17.
[0012] The processor 11 includes a CPU (Central Processing Unit). The processor 11 executes programs stored in the auxiliary storage unit 13 to realize various functions of the information processing device 10.
[0013] The main memory unit 12 includes a RAM (Random Access Memory). Programs are loaded into the main memory unit 12 from the auxiliary memory unit 13. The main memory unit 12 is used as a working area for the processor 11.
[0014] The auxiliary storage unit 13 includes a non-volatile memory such as an EEPROM (Electrically Erasable Programmable Read-Only Memory). In addition to programs, the auxiliary storage unit 13 stores various data used in the processing of the processor 11. In accordance with instructions from the processor 11, the auxiliary storage unit 13 supplies the processor 11 with data used by the processor 11 and stores the data supplied from the processor 11.
[0015] The communication unit 14 includes a network interface circuit for communicating with an external device. The communication unit 14 receives a signal from the external device and outputs data indicated by the signal to the processor 11. The communication unit 14 also transmits a signal indicating the data output from the processor 11 to the external device.
[0016] The input unit 15 includes input devices such as input keys and a pointing device, and a camera. The input unit 15 acquires information input by a user of the information processing device 10 and notifies the processor 11 of the acquired information. The input unit 15 also captures and acquires images, and notifies the processor 11 of information related to the acquired images.
[0017] The output unit 16 includes output devices such as an LCD (Liquid Crystal Display) and a speaker. The output unit 16 may be configured as a touch screen integrally formed with a pointing device constituting the input unit 15. The output unit 16 presents various information to the user in accordance with instructions from the processor 11.
[0018] The information processing device 10 is an example of an information processing device in which an image acquisition unit 100, a compression management unit 200, an image compression unit 300, a storage unit 400, and an engineering unit 500 are realized, and each unit of the information processing device 10 can be omitted as appropriate depending on the functions of the image acquisition unit 100, the compression management unit 200, the image compression unit 300, the storage unit 400, and the engineering unit 500.
[0019] The image acquisition unit 100 acquires an inspection image. The image acquisition unit 100 is an example of an image acquisition means.
[0020] Specifically, the image acquisition unit 100 controls photography by a camera to acquire an inspection image and transmits the image to the compression management unit 200. The image acquisition unit 100 is composed of a control device such as a programmable logic controller (PLC) that controls the camera, and a camera connected to the control device. The control device transmits a signal to the camera according to a preset control algorithm, and the camera that receives the signal captures an inspection image and transmits it to the control device.
[0021] The control algorithm varies depending on the manufacturing line process in which the inspection image is captured. For example, in a process for continuously processing long materials such as steel plates, paper, films, and electrode sheets used in the manufacture of lithium-ion batteries, a single long material is continuously fed without interruption. In this case, a control algorithm is set in the control device to send a signal instructing photography at regular time intervals or regular distance intervals, and the control device controls photography by sending a signal to the camera in accordance with the control algorithm. In a process for mass-produced products, a large amount of manufactured products, such as manufactured products or parts in the manufacturing process, are fed. In this case, a sensor is connected to the control device, and a control algorithm is set in the control device to send a signal instructing photography each time the sensor detects a product, and the control device controls photography by sending a signal to the camera in accordance with the control algorithm. Note that the camera, control device, sensor, etc. may be integrated into one device.
[0022] The compression management unit 200 selects an image compression unit 300 that should compress the inspection image from the plurality of image compression units 300, allocates the inspection image to the image compression unit 300, and transmits the inspection image to the allocated image compression unit 300. The compression management unit 200 is an example of a compression management means.
[0023] Specifically, the compression management unit 200 has an allocation unit 201, which selects an image compression unit 300 that should compress an inspection image from a plurality of image compression units 300 and allocates the inspection image to the image compression unit 300. Here, "allocating" means determining an image compression unit 300 that will perform compression processing on the inspection image acquired by the image acquisition unit 100.
[0024] The allocation performed by the allocation unit 201 may be, for example, a method of allocating regardless of the load status of the image compression unit 300, a method of allocating according to the performance of the image compression unit 300, or a method of allocating based on the load status of the image compression unit 300. The allocation methods are not limited to these, and the method to be used for allocation is set by a setting unit (not shown) of the engineering unit 500.
[0025] When the engineering department 500 sets a method for allocating images regardless of the load status of the image compression units 300, for example, the allocation unit 201 allocates acquired inspection images to each image compression unit 300 one by one in order so that each image compression unit 300 processes an equal number of images. FIG. 3 shows an example of allocation so that the number of inspection images to be processed is equal. In the example of FIG. 3, the inspection image storage system 1 includes three image compression units 300. If the inspection images acquired by the image acquisition unit 100 are designated as inspection image 1, inspection image 2, ..., inspection image M (M is a natural number greater than or equal to 3) in the order in which they are acquired, the allocation unit 201 allocates inspection image 1 to image compression unit 300-1, inspection image 2 to image compression unit 300-2, and inspection image 3 to image compression unit 300-3. After completing allocation up to image compression unit 300-3, the allocation unit 201 allocates inspection image 4 and subsequent inspection images in order from image compression unit 300-1.
[0026] When the engineering unit 500 sets a method of allocating the number of inspection images according to the performance of the image compression unit 300, the allocation unit 201 changes the allocation of the number of inspection images according to the performance of the image compression unit 300. Performance information relating to the performance of the image compression unit 300 is stored, for example, in the auxiliary storage unit 13 of the compression management unit 200, and the allocation unit 201 refers to the performance information and determines the allocation according to the referenced performance.
[0027] 4 shows an example of allocation in which the allocation of the number of inspection images to three image compression units 300 is changed depending on the performance of each image compression unit 300. In the case where there is a performance difference such that image compression unit 300-1 can compress one image while the other image compression units 300-2 and 300-3 can compress two images, once allocation up to inspection image 3 is complete, allocation unit 201 allocates inspection image 4 to image compression unit 300-2 and inspection image 5 to image compression unit 300-3. By allocating in this manner, the time required for compression processing can be equalized. However, if image compression unit 300-1 has sufficient performance and inspection image 1 has already completed compression processing and is in a waiting state when inspection image 4 is allocated, inspection image 4 may be allocated to image compression unit 300-1.
[0028] Furthermore, when the engineering department 500 sets the allocation to be performed based on the load status of the image compression department 300, the allocation department 201 acquires information indicating the load status of the image compression department 300, and allocates the inspection images acquired by the image acquisition department 100 to the image compression department 300 according to the load status related to the acquired information. The load status is the load status due to the compression process in the image compression department 300.
[0029] For example, the allocation unit 201 acquires information indicating the load status of the image compression unit 300 online from the image compression unit 300, and allocates the inspection images to the image compression unit 300 with the lightest load for the compression process. Here, the information indicating the load status includes the total data volume and number of inspection images waiting for compression processing, the estimated compression time for compressing the inspection images waiting for compression processing, etc. The estimated compression time is calculated by the allocation unit 201 taking into account the performance of the image compression unit 300, the data size of the inspection images, the compression method, the compression rate, etc. Furthermore, the information indicating the load status may be calculated by the allocation unit 201 taking into account the past performance of the image compression unit 300. The allocation unit 201 allocates the inspection images to the image compression unit 300 with the lightest load so that the load statuses are equal. In this way, the allocation unit 201 can allocate the inspection images to multiple image compression units 300. When the allocation unit 201 allocates the inspection image to the image compression unit 300, the compression management unit 200 transmits the inspection image to the image compression unit 300 to which the inspection image has been allocated.
[0030] The image compression unit 300 compresses the inspection image transmitted by the compression management unit 200. Then, the image compression unit 300 transmits the compressed inspection image, which is the compressed inspection image, to the storage unit 400. The image compression unit 300 is an example of an image compression means.
[0031] The image compression unit 300 is connected to the compression management unit 200 via a communication network, so the number of image compression units 300 connected in parallel to the compression management unit 200 can be flexibly changed. Furthermore, the hardware and software of the image compression units 300 connected in parallel do not need to be unified and may be different from each other. The image compression unit 300 manages a list of inspection images waiting for compression processing in a queue format. The list of inspection images waiting for compression processing indicates a data structure for storing inspection images to be compressed. When the image compression unit 300 receives an inspection image from the compression management unit 200, it adds the image to the list of inspection images waiting for compression processing, and then extracts the image from the list of inspection images waiting for compression processing in the order in which it was received, and performs compression processing.
[0032] FIG. 5 shows an example of how the image compression unit 300-1 manages a list of inspection images awaiting compression. The image compression unit 300-1 holds a list of inspection images awaiting compression 600-1, and inspection images 1, 4, and 7 are stored in the list of inspection images awaiting compression 600-1. The image compression unit 300-1 retrieves inspection image 1 from the list of inspection images awaiting compression 600-1 and performs compression processing. After completing compression processing of inspection image 1, the image compression unit 300-1 transmits compressed inspection image 1, which is inspection image 1, to the storage unit 400. Next, the image compression unit 300-1 retrieves inspection image 4 from the list of inspection images awaiting compression 600-1 and performs compression processing on it. Furthermore, upon receiving inspection image 10 from the compression management unit 200, the image compression unit 300-1 adds inspection image 10 to the list of inspection images awaiting compression 600-1 as the inspection image to be compressed next after inspection image 7. The image compression unit 300 performs compression processing while managing the list of examination images waiting to be compressed in this way, but if there is no examination image on the list waiting to be compressed, it immediately performs compression processing as soon as it receives the examination image.
[0033] The storage unit 400 stores the compressed inspection images compressed by the image compression unit 300. The recording medium that realizes the storage unit 400 is preferably one that can store large amounts of data for long periods of time at low cost, such as an LTO (Linear Tape-Open) tape. The storage unit 400 is an example of a storage means.
[0034] The storage unit 400 may store the compressed inspection images in either the order in which they were received from the image compression unit 300 or in the chronological order in which they were acquired by the image acquisition unit 100. When storing the images in the order received, the storage unit 400 does not need to control the order, and therefore the load on the storage unit 400 is less likely to be large. On the other hand, when storing the images in chronological order, the image acquisition unit 100 assigns time-series information to the inspection images when it acquires them, transmits the inspection images with the attached time-series information to the compression management unit 200, and the compression management unit 200 transmits the inspection images with the attached time-series information to the image compression unit 300. The image compression unit 300 attaches the time-series information to the compressed inspection images and transmits them to the storage unit 400. The storage unit 400 then arranges the compressed inspection images in chronological order based on the time-series information and stores them in the chronological order. The time-series information may be, for example, a number representing the time the inspection images were acquired and the order in which the inspection images were acquired. Storing the compressed inspection images in chronological order allows for efficient analysis of the inspection images. For example, when analyzing changes over time in a long material, or when analyzing the time when defective products start to appear in defective product inspections of mass-produced products, analysis can be performed efficiently.
[0035] The engineering unit 500 estimates the performance required for the image compression unit 300 before the inspection image storage system 1 starts processing from acquisition to storage of the inspection image, and acquires and presents information on the status of the compression processing online during operation. The engineering unit 500 has functions realized by an engineering tool.
[0036] The performance required for the image compression unit 300 before operation is estimated using the following procedure. First, a user of the inspection image storage system 1 inputs compression processing information, which is information about factors that affect the compression processing time, to the engineering unit 500. The compression processing information includes, for example, the data size of the inspection image, the compression method including parameters, the compression rate, the variation in the inspection image during operation, and the frequency of acquisition of the inspection image by the image acquisition unit 100. The variation in the inspection image during operation refers to, for example, the variation in the inspection image due to the part lot, changes in external light, etc. Next, the engineering unit 500 calculates the compression processing time using the compression processing information and outputs, as an estimate of the performance of the image compression unit 300, hardware specifications that will prevent inspection images from being stocked in the image compression unit 300 for the calculated compression processing time.
[0037] The output format may be a proposal of commercially available hardware, a proposal of detailed specifications such as clock frequency, or both. When proposing commercially available hardware, multiple hardware examples are proposed. The engineering department 500 then acquires information indicating the performance of the image compression unit 300 connected to the compression management unit 200, compares it with the output performance estimate, and determines whether the required performance is met. If the engineering department 500 determines that the required performance is not met, it may output hardware specifications necessary to meet the performance. This output format may also be a proposal of commercially available hardware, a proposal of detailed specifications such as clock frequency, or both.
[0038] Furthermore, the engineering section 500 may output compression processing information in the form of a new compression method including parameters, a compression algorithm including a compression rate, etc., in addition to outputting hardware specifications.
[0039] Specifically, the engineering unit 500 includes a training data acquisition unit 501 that acquires training data, a model generation unit 502 that uses the training data to generate a trained model that infers the compression algorithm of the image compression unit 300, and a trained model storage unit 503 in which the trained model is stored.
[0040] For example, the learning data acquisition unit 501 acquires, as learning data, information on the performance of the image compression unit 300, information on the compression algorithm used by the image compression unit 300, and information on the inspection image. The information on the performance of the image compression unit 300 is, for example, the processing speed per inspection image, information that affects the processing speed, or the hardware resource utilization rate. The information that affects the processing speed is, for example, hardware information such as the clock frequency and cache configuration, and the software performance of the image processing software itself. The information on the compression algorithm used by the image compression unit 300 is, for example, the compression method including parameters, the compression rate, etc. Furthermore, the information on the inspection image is, for example, the data size of the inspection image, the variation of the inspection image during operation, etc.
[0041] Information on the performance of the connected image compression unit 300 is obtained by automatically sending it to the engineering unit 500 via the compression management unit 200 when the image compression unit 300 is turned on, or by the user directly entering it into the engineering unit 500.
[0042] The model generation unit 502 receives the performance of the image compression unit 300 and information on the inspection image as input data, and generates a trained model that receives a compression method including parameters and a compression algorithm including a compression rate as output data. The model generation unit 502 then stores the generated trained model in the trained model storage unit 503. The learning algorithm used by the model generation unit 502 can be a known algorithm such as supervised learning, unsupervised learning, or reinforcement learning.
[0043] In this way, the engineering department 500 uses a trained model learned by machine learning to propose a compression algorithm for the image compression department 300. The engineering department 500 may also propose a compression algorithm when the system is started up, or may adjust the compression method, compression rate, etc. according to the proposed compression algorithm.
[0044] Furthermore, the engineering department 500 may propose the number calculated based on the following equation 1 as the number of image compression units 300 required in the inspection image storage system 1. The required function in equation 1 is the number of inspection images that are required to be compressed per second in the inspection image storage system 1.
[0045] [Equation 1] Required function (images / s) / Capacity per image compression unit 300 (images / s)=Number of image compression units 300
[0046] The engineering unit 500 acquires status information about the image compression unit 300 via the compression management unit 200 and outputs the acquired information, enabling online confirmation of the compression processing status. The status of the image compression unit 300 includes, for example, the number of stocked inspection images and the total data volume of the stocked inspection images. The user can check the status of the image compression unit 300 and, even if the image compression unit 300 is in operation, install an additional image compression unit 300 if performance is insufficient, or remove an image compression unit 300 for replacement. To install an image compression unit 300, the user connects the image compression unit 300 to be installed to the communication network and sets the connected image compression unit 300 as an allocation destination in the engineering unit 500, so that the allocation unit 201 recognizes it as an allocation destination. To remove an image compression unit 300, the engineering unit 500 first cancels the allocation destination setting for the image compression unit 300 to be removed, so that the allocation unit 201 removes it from the allocation destination. The image compression unit 300 to be removed then compresses all stocked inspection images and transmits the compressed inspection images to the storage unit 400. When the user confirms that the compression of all the inspection images and the transmission of the compressed inspection images have been completed in the engineering section 500, the user disconnects the image compression section 300 to be removed from the communication network.
[0047] According to this embodiment, by connecting the image compression units via a network, the number of parallel processes can be flexibly changed, ensuring scalability of the compression processing performance. Furthermore, the image compression units may have different hardware and software, and various types of resources can be utilized to achieve the desired performance.
[0048] Furthermore, according to this embodiment, by providing an engineering unit, it is possible to easily tune and set the compression processing performance before and during operation of the inspection image storage system.
[0049] (Embodiment 2) An inspection image storage system 1 according to embodiment 2 has a function of controlling the timing of transmission of compressed inspection images from the image compression unit 300 to the storage unit 400. As shown in FIG. 6, the inspection image storage system 1 functionally includes an image acquisition unit 100, a compression management unit 200, image compression units 300-1 to 300-N, a storage unit 400, and an engineering unit 500. The image compression units 300-1 to 300-N also have synchronization units 301-1 to 301-N for synchronizing time with the compression management unit 200. Hereinafter, the synchronization units 301-1 to 301-N will be collectively referred to as synchronization unit 301 unless a specific synchronization unit is being referred to. The image acquisition unit 100 and storage unit 400 of embodiment 2 have the same functions as those of embodiment 1.
[0050] The compression management unit 200 includes an allocation unit 201 that allocates the inspection image to the image compression unit 300, and a calculation unit 202 that calculates the transmission time at which the image compression unit 300 transmits the compressed inspection image to the storage unit 400. The calculation unit 202 further includes a synchronization unit 2021 that synchronizes time with the image compression unit 300.
[0051] Here, synchronization is performed by the synchronization units 2021 and 301 acquiring time information from a time information server on the communication network, for example. Note that synchronization is performed taking into account time discrepancies caused by differences in transmission time along the communication network path. High-precision time synchronization is required at manufacturing sites. However, transmitting time information via a communication network results in time discrepancies due to factors such as the time required for transmission, making it impossible to achieve synchronization that satisfies the requirements. Therefore, time synchronization is performed taking into account discrepancies caused by transmission.
[0052] When the compression management unit 200 receives an inspection image from the image acquisition unit 100, the calculation unit 202 calculates the transmission time for transmitting the compressed inspection image of the inspection image received by the image compression unit 300 to the storage unit 400 using the time synchronized with the synchronization unit 301 by the synchronization unit 2021 for the received inspection image.
[0053] Specifically, the calculation unit 202 first calculates the estimated compression time required for the compression process of one inspection image. The estimated compression time is calculated using information such as the performance of the image compression unit 300, the data size of the inspection image, the compression method, and the compression rate. The calculation unit 202 then calculates the estimated compression time for each image compression unit 300, and calculates the transmission time using the maximum estimated time tE among the calculated estimated compression times and a grace period tG set by the user. For example, suppose the compression management unit 200 receives inspection images from the image acquisition unit 100 in the order of inspection image 1, inspection image 2, ..., inspection image M, and the times at which inspection image 1, inspection image 2, ..., inspection image M are received are defined as t1, t2, ..., tM. In this case, for inspection image 1, the calculation unit 202 calculates the transmission time T1 (= t1 + tE + tG) for inspection image 1 as the sum of the reception time t1, the maximum estimated time tE, and the grace period tG. Similarly, for inspection image 2, ..., inspection image M, the calculation unit 202 calculates the transmission time T2 (= t2 + tE + tG), ..., TM (= tM + tE + tG) for inspection image 1 by adding the reception time t2, ..., tM, the maximum expected time tE, and the grace period tG. Here, the maximum expected time tE varies depending on the data size of the inspection image, etc. Therefore, for example, if the same grace period tG is used, the calculated transmission time T2 for inspection image 2 may be earlier than the transmission time T1 for inspection image 1. In such a case, the calculation unit 202 adjusts the grace period tG to calculate the transmission time for each inspection image so that inspection image 1, inspection image 2, ..., inspection image M are transmitted in the chronological order in which they were acquired by the image acquisition unit 100. Therefore, the transmission times are calculated so that the compressed inspection images are transmitted in the chronological order in which the inspection images were acquired. The calculation unit 202 then attaches information about the calculated transmission times to the inspection images.
[0054] Here, the calculation unit 202 may calculate the transmission time by estimating the compression processing time from past compression processing time data. For example, the calculation unit 202 may initially calculate a transmission time with a margin of error. Once a certain amount of compression processing time data has been collected, the calculation unit 202 may infer the compression processing time using a trained model that infers the compression processing time generated by machine learning from the collected data, and calculate the transmission time using the inferred compression processing time as the estimated compression time. Alternatively, the calculation unit 202 may calculate the transmission time using a trained model that infers the transmission time generated by machine learning from data collected from all image compression units 300. For example, as described above, if the maximum estimated time among the calculated estimated compression times is used to calculate the transmission time, data waiting to be transmitted may accumulate in the image compression unit 300 after a certain amount of time has passed since operation. In such a case, calculating the transmission time using a trained model can eliminate the accumulation of data waiting to be transmitted. These machine learning processes are performed by the engineering unit 500.
[0055] The engineering unit 500 includes a training data acquisition unit 501 that acquires training data, a model generation unit 502 that generates a trained model that uses the training data to infer the compression processing time, and a trained model storage unit 503 that stores the trained model.
[0056] For example, the learning data acquisition unit 501 acquires, as learning data, information about the performance of the image compression unit 300 and the compression performed by the image compression unit 300, information about the inspection image, and the compression processing time required for the image compression unit 300 to compress the inspection image. The information about the compression performed by the image compression unit 300 is, for example, the compression method including parameters, the compression rate, etc. Furthermore, the information about the inspection image is, for example, the data size of the inspection image.
[0057] The model generation unit 502 generates a trained model that infers the compression processing time required to compress the inspection image from information about the performance of the image compression unit 300 and the compression performed by the image compression unit 300, and information about the inspection image. The model generation unit 502 then stores the generated trained model in the trained model storage unit 503. The learning algorithm used by the model generation unit 502 can be a known algorithm such as supervised learning, unsupervised learning, or reinforcement learning.
[0058] The calculation unit 202 acquires the compression processing time using the trained model stored in the trained model storage unit 503, and uses the acquired compression processing time as the estimated compression time of the image compression unit 300. Then, the calculation unit 202 determines the transmission time based on the estimated compression time.
[0059] The allocation unit 201 allocates the inspection image with the information on the transmission time attached to the image compression unit 300 regardless of the load status of the image compression unit 300. The compression management unit 200 transmits the inspection image with the information on the transmission time attached to the image compression unit 300 allocated by the allocation unit 201.
[0060] The image compression unit 300 compresses the inspection image received from the compression management unit 200, and upon completing the compression process of the inspection image, checks the time synchronized by the synchronization unit 301 and transmits the compressed inspection image to the storage unit 400 at the transmission time related to the information attached to the inspection image. The storage unit 400 then stores the compressed inspection images in the order in which they were received.
[0061] If there is time between the completion of the compression process and the transmission time, the image compression unit 300 may compress the inspection images stored in the list of inspection images waiting to be compressed. Methods for transmitting the compressed inspection images include a method of checking the time while compressing the stored inspection images, and pausing the compression process to transmit the compressed inspection images when the transmission time comes, and a method of generating an interrupt when the transmission time comes and transmitting the compressed inspection images.
[0062] In this way, the image compression unit 300 transmits the compressed examination image at the transmission time, but there are cases where transmission cannot be performed according to the calculated transmission time. If transmission cannot be performed according to the calculated transmission time, storage in chronological order cannot be guaranteed. Therefore, in such cases, the transmission time must be calculated and allocated again.
[0063] An image compression unit 300 that fails to transmit within the transmission time temporarily stops the transmission process and transmits a notification to the compression management unit 200 that the transmission was not successful within the transmission time. Upon receiving the notification, the compression management unit 200 instructs all image compression units 300 to stop the transmission process. The calculation unit 202 then recalculates the transmission time for all compressed inspection images that the image compression units 300 plan to transmit to the storage unit 400. Specifically, the calculation unit 202 recalculates the estimated compression time for the inspection images that the image compression units 300 failed to transmit within the transmission time based on the progress of the compression process up to that point, and recalculates the transmission time for all inspection images not stored in the storage unit 400 by taking into account the recalculated estimated compression time and the time during which the transmission process was stopped. If the failure to transmit within the transmission time is not due to the inspection image itself but to the performance, compression method, compression rate, or the like of the image compression unit 300, the calculated transmission time may be incorrect even if recalculated. Therefore, the calculation method for the transmission time is corrected.
[0064] When the calculation unit 202 has completed calculation of the transmission time, the compression management unit 200 notifies the image compression units 300 of the recalculated transmission time and commands all image compression units 300 to resume transmission processing. Until receiving the command, the image compression units 300 do not execute transmission processing but execute compression processing.
[0065] Furthermore, even if the compression management unit 200 issues an instruction to stop the transmission process, the image compression unit 300 may be late in stopping the transmission process and may end up sending the compressed inspection image to the storage unit 400 in a non-chronological order. In this case, the storage unit 400 does not store the compressed inspection image received in a non-chronological order, referring to the time-series information attached to the inspection image by the image acquisition unit 100, which is the time-series information attached to the compressed inspection image by the image compression unit 300. Even after transmitting the compressed inspection image, the image compression unit 300 holds the compressed inspection image until it confirms that it has been saved in the storage unit 400.
[0066] Specifically, the storage unit 400 checks whether the compressed inspection images have been received in chronological order based on the time-series information attached to the compressed inspection images. If the storage unit 400 determines that the compressed inspection images have not been received in chronological order, it notifies the image compression unit 300, the source of the compressed inspection images, that the order of transmission processing is not in chronological order. The image compression unit 300 then notifies the compression management unit 200 that the order of transmission processing is not in chronological order, and the calculation unit 202 of the compression management unit 200 recalculates the transmission time for the compressed inspection images not stored in the storage unit 400 and notifies the image compression unit 300 of the recalculated transmission time. The image compression unit 300 transmits the compressed inspection images using the recalculated transmission time, and the storage unit 400 stores the compressed inspection images in chronological order. The image compression unit 300 then notifies the image compression unit 300, the source of the compressed inspection images, that the storage is complete. Upon confirming this notification, the image compression unit 300 deletes the compressed inspection images that have been stored.
[0067] Furthermore, a malfunction of the image compression unit 300 may prevent transmission within the transmission time. In such a case, the defective image compression unit 300 may be excluded from the allocation destination. When the compression management unit 200 receives a notification from the image compression unit 300 that transmission was not within the transmission time, the compression management unit 200 receives, from the image compression unit 300 that sent the notification, the inspection image and compressed inspection image allocated to the image compression unit 300 that sent the notification. After the calculation unit 202 recalculates the transmission time, the allocation unit 201 excludes the image compression unit 300 that sent the notification from the allocation destination and reallocates the inspection image and compressed inspection image received from the image compression unit 300 that sent the notification to another image compression unit 300. The compression management unit 200 transmits the inspection image and compressed inspection image to the newly allocated image compression unit 300.
[0068] When inspection images and compressed inspection images are reallocated and transmitted to the image compression unit 300, they may be transmitted without going through the compression management unit 200. The image compression units 300 are connected to each other so that they can communicate with each other. The excluded image compression unit 300 receives the results of reallocation by the allocation unit 201 from the compression management unit 200 and transmits the inspection images and compressed inspection images held by the excluded image compression unit 300 to another image compression unit 300 based on the results of reallocation. Furthermore, inspection images and compressed inspection images stored in the excluded image compression unit 300 may not be subject to reallocation. In this case, the excluded image compression unit 300 transmits all of its stored inspection images and compressed inspection images to the storage unit 400. The allocation unit 201 allocates new inspection images sent from the image acquisition unit 100 by excluding from the allocation destination the image compression unit 300 that was unable to transmit the images on time.
[0069] Note that if the image compression unit 300 is excluded from the allocation destination, there is a possibility that the compression processing performance will be insufficient. In such a case, a spare image compression unit 300 can be prepared and installed as shown in the first embodiment.
[0070] Since the transmission process from the image compression unit to the storage unit is not guaranteed to be performed in chronological order, the compressed examination images may not be saved in chronological order. In contrast, according to this embodiment, by controlling the transmission time by the image compression unit so that the examination images are saved in the chronological order, the order in which the storage unit receives the compressed examination images is the same as the chronological order in which the examination images were acquired. Therefore, the storage unit can save the received compressed examination images in chronological order simply by saving them sequentially without having to reorder the order. This reduces the processing load on the storage unit, which is prone to becoming a bottleneck.
[0071] (Embodiment 3) An inspection image storage system 1 according to embodiment 3 has multiple storage units 400 and has a function of changing the storage destination based on the remaining capacity of the storage units 400. The inspection image storage system 1 functionally includes an image acquisition unit 100, a compression management unit 200, image compression units 300-1 to 300-N, and storage units 400-1 to 400-K (K is a natural number equal to or greater than 2). Hereinafter, the storage units 400-1 to 400-K will be collectively referred to as storage units 400, except when referring to a specific storage unit. Figure 7 shows an example of the configuration of the inspection image storage system 1 according to embodiment 3. Figure 7 shows an example of three storage units 400. The image acquisition unit 100 according to embodiment 3 has the same functions as that according to embodiment 2.
[0072] A serial number is assigned to each storage unit 400, and information indicating the correspondence between the storage units 400 and the serial numbers is managed by the compression management unit 200. When a storage unit 400 is connected to the image compression unit 300, the image compression unit 300 notifies the compression management unit 200 that the storage unit 400 has been connected, and the compression management unit 200 assigns serial numbers to the storage units 400 connected to the image compression unit 300 in the order in which the compression management unit 200 receives notification from the image compression unit 300 that the storage units 400 have been connected.
[0073] For example, in a situation where no storage units 400 are connected to the image compression unit 300, when the first storage unit 400-1 is connected to the image compression unit 300-1 first, the image compression unit 300-1 notifies the compression management unit 200 that the storage unit 400-1 has been connected, and the compression management unit 200 assigns the serial number "1" to the storage unit 400-1. Furthermore, when the second storage unit 400-2 is connected to the image compression unit 300-2 after the storage unit 400-1, the image compression unit 300-2 notifies the compression management unit 200 that the storage unit 400-2 has been connected, and the compression management unit 200 assigns the serial number "2" to the storage unit 400-2. Furthermore, when the third storage unit 400-3 is connected to the image compression unit 300-3 after the storage unit 400-2, the image compression unit 300-3 notifies the compression management unit 200 that the storage unit 400-3 has been connected, and the compression management unit 200 assigns the serial number "3" to the storage unit 400-3.
[0074] In this way, the compression management unit 200 assigns serial numbers to the storage units 400 in the order in which it receives notifications from the image compression unit 300, that is, in the order in which the storage units 400 are connected to the image compression unit 300. Assignment of serial numbers is performed on a new storage unit 400 every time a new storage unit 400 is connected to the image compression unit 300.
[0075] The serial number is used to indicate the order in which the storage units 400 are used. That is, the order in which the storage units 400 are used is the order in which they are connected to the image compression unit 300. The compression management unit 200 records the serial number of the storage unit 400 in which the most recently compressed inspection image was saved as the most recently used save destination information.
[0076] The compression management unit 200 also has an allocation unit 201 that allocates the inspection image to the image compression unit 300, a calculation unit 202 that calculates the transmission time for the image compression unit 300 to transmit the compressed inspection image to the storage unit 400, and a storage destination designation unit 203 that designates the storage destination to store the compressed inspection image.
[0077] Specifically, the storage destination designation unit 203 of the compression management unit 200 designates a storage unit 400 in which to store the compressed inspection image from among the multiple storage units 400 based on the remaining capacity of the storage units 400. For example, the storage destination designation unit 203 designates a storage destination in order of the serial numbers of storage units 400 having remaining capacity greater than a predetermined threshold. The predetermined threshold is arbitrarily set for each storage unit 400 by the user of the inspection image storage system 1. Information on the current remaining capacity of the storage unit 400 is notified from the storage unit 400, as described below. Information on the remaining capacity of the storage unit 400 is managed by the compression management unit 200. When the compression management unit 200 receives an inspection image from the image acquisition unit 100, the storage destination designation unit 203 determines a storage unit 400 in which to store the compressed inspection image of the received inspection image based on the information on the remaining capacity of the storage unit 400 and the most recently used storage destination information, and attaches the serial number assigned to the determined storage unit 400 to the inspection image.
[0078] 8 shows a flowchart of the storage destination designation process executed by the storage destination designation unit 203. The storage destination designation process of FIG. 8 is executed every time the compression management unit 200 receives an inspection image from the image acquisition unit 100.
[0079] The storage destination designation unit 203 checks the remaining capacity of the storage unit 400 to be used as a storage destination for the received inspection image (step S101).
[0080] For example, suppose that the compression management unit 200 receives the inspection image 11 from the image acquisition unit 100 and records the serial number "1" assigned to the storage unit 400-1 as the most recently used storage destination information. In this case, the storage destination designation unit 203 specifies the storage unit 400-2, assigned the serial number "2," as the storage unit 400 to be used as the storage destination for the inspection image 11, and checks the remaining capacity of the storage unit 400-2 by referring to the information on the remaining capacity of the storage unit 400 managed by the compression management unit 200.
[0081] The storage destination designation unit 203 determines whether the remaining capacity of the storage unit 400 to be used as the storage destination is equal to or less than a predetermined threshold (step S102). If the storage destination designation unit 203 determines that the remaining capacity of the storage unit 400 to be used as the storage destination is not equal to or less than the predetermined threshold (step S102; NO), the storage destination designation unit 203 designates the storage unit 400 to be used as the storage destination (step S103) and attaches the serial number of the designated storage unit 400 to the inspection image (step S105). On the other hand, if the storage destination designation unit 203 determines that the remaining capacity of the storage unit 400 to be used as the storage destination is equal to or less than the predetermined threshold (step S102; YES), the storage destination designation unit 203 designates the storage unit 400 assigned the next serial number to the serial number assigned to the storage unit 400 to be used as the storage destination (step S104) and attaches the serial number of the designated storage unit 400 to the inspection image (step S105). After the process of step S105, the save destination designation unit 203 ends the save destination designation process of FIG.
[0082] For example, if the storage destination designation unit 203 determines that the remaining capacity of the storage unit 400-2 is not equal to or less than a predetermined threshold, it designates the storage unit 400-2 as the storage destination and attaches the serial number "2" assigned to the storage unit 400-2 to the inspection image 11. On the other hand, if the storage destination designation unit 203 determines that the remaining capacity of the storage unit 400-2 is equal to or less than a predetermined threshold, it designates the storage unit 400-3, which has been assigned the serial number "3" next to the serial number "2," as the storage destination and attaches the serial number "3" assigned to the storage unit 400-3 to the inspection image 11. When the attachment of the serial numbers is complete, the storage destination designation unit 203 ends the storage destination designation process.
[0083] Next, the calculation unit 202 calculates the transmission time for the image compression unit 300 to transmit the compressed inspection image to the storage unit 400, attaches information about the transmission time to the inspection image, and the allocation unit 201 determines the image compression unit 300 that will perform the compression process. The compression management unit 200 transmits the inspection image, with the serial number and information about the transmission time attached, to the image compression unit 300 determined by the allocation unit 201. Then, after transmitting the inspection image, the compression management unit 200 records the serial number attached to the transmitted inspection image as most recently used storage destination information.
[0084] The image compression unit 300 holds information on the correspondence between serial numbers and storage units 400, and by referring to the correspondence information, identifies the storage unit 400 that corresponds to the serial number attached to the received examination image, and transmits the compressed examination image to the identified storage unit 400 at the transmission time.
[0085] The storage unit 400 receives a compressed inspection image from the image compression unit 300, and when it stores the compressed inspection image, notifies the compression management unit 200 of the remaining capacity via the image compression unit 300 that transmitted the stored compressed inspection image. The notification of the remaining capacity by the storage unit 400 is executed every time the storage unit 400 stores a compressed inspection image from the image compression unit 300.
[0086] For example, when the storage unit 400-2 receives a compressed inspection image 11 from the image compression unit 300-1, the storage unit 400-2 stores the compressed inspection image 11 and notifies the image compression unit 300-1, which is the sender, of the remaining capacity of the storage unit 400-2. Upon receiving the notification of the remaining capacity, the image compression unit 300-1 notifies the compression management unit 200 of the remaining capacity of the storage unit 400-2. In this way, the storage units 400 notify each other of their remaining capacity.
[0087] After the storage unit 400 has completed storing the compressed inspection image transmitted from the image compression unit 300, the storage unit 400 can be hot-swapped.
[0088] For example, assume that the remaining capacity of storage unit 400-2 is below a predetermined threshold and storage unit 400-3 has completed storing the compressed examination images 11 that were scheduled to be stored in storage unit 400-2. In this case, a hot swap can be performed to replace storage unit 400-2 with a new storage unit 400-4. When storage unit 400-4 is connected to the image compression unit 300, the compression management unit 200 assigns the serial number "4" to storage unit 400-4. After the hot swap is performed, the storage units 400 are used in the following order: storage unit 400-1, which has been assigned the serial number "1," storage unit 400-3, which has been assigned the serial number "3," and storage unit 400-4, which has been assigned the serial number "4."
[0089] Furthermore, the storage destination designation unit 203 may output a signal related to the remaining capacity of the storage unit 400. For example, if the remaining capacity of all storage units 400 falls below a predetermined threshold, an error signal may be output, or if there is only one storage unit 400 left whose remaining capacity exceeds the predetermined threshold, a warning signal may be output.
[0090] Before the destination designation unit 203 changes the destination from a storage unit 400 with remaining capacity below a predetermined threshold to another storage unit 400, the storage may fail due to the capacity of the storage unit 400 with remaining capacity below the predetermined threshold being exceeded. If the storage unit 400 fails to save, it notifies the image compression unit 300, the source of the compressed inspection image, of the failure. Upon receiving the notification of the failure, the image compression unit 300 notifies the compression management unit 200 of the failure. Furthermore, the image compression unit 300 holds the compressed inspection image sent to the storage unit 400 until it receives a notification from the storage unit 400 that the saving is complete. Upon receiving the notification of the failure, the compression management unit 200 instructs all image compression units 300 to stop sending the compressed inspection image to the storage unit 400. Upon receiving the notification of the failure, the compression management unit 200 changes the destination of the compressed inspection image that it failed to save. Furthermore, if there is a compressed inspection image scheduled to be sent after the compressed inspection image that failed to be saved and the compressed inspection image has the storage destination set to the storage unit 400 that failed to save the compressed inspection image, the storage destination designation unit 203 also changes the storage destination of that compressed inspection image. Also, the calculation unit 202 recalculates the transmission time to be attached to all inspection images scheduled to be sent to the image compression units 300. Then, the compression management unit 200 notifies all image compression units 300 of the serial number assigned to the changed storage destination storage unit 400 and the recalculated transmission time, and commands all image compression units 300 to resume the transmission process.
[0091] An example of changing the storage destination will be described using Figures 9 and 10. For simplicity of explanation, Figures 9 and 10 show that the inspection image storage system 1 includes one image compression unit 300 and two storage units 400. Also, Figures 9 and 10 do not show the allocation unit 201 and calculation unit 202 of the compression management unit 200. Also, in Figure 9, it is assumed that after inspection images 1 to 5 are transmitted to the image compression unit 300-1, the storage unit 400-2 is connected to the image compression unit 300-1 and the serial number "2" is assigned to the storage unit 400-2.
[0092] FIG. 9 illustrates a situation in which the remaining capacity of storage unit 400-1 falls below a predetermined threshold when compressed inspection image 1, which is obtained by compressing inspection image 1, is saved in storage unit 400-1. After saving compressed inspection image 1, storage unit 400-1 notifies compression management unit 200 of the remaining capacity via image compression unit 300-1. When storage destination designation unit 203 determines that the remaining capacity of storage unit 400-1 falls below a predetermined threshold, it designates storage unit 400-2 as the new storage destination for inspection image 6 received by compression management unit 200. Meanwhile, inspection images 2 to 5 have already been sent to image compression unit 300-1, and compressed inspection images 2 to 5 of inspection images 2 to 5 are scheduled to be sent to storage unit 400-1. If compressed inspection images 2 to 5 are sent to storage unit 400-1 as scheduled, the capacity of storage unit 400-1 may be exceeded, resulting in a potential saving failure.
[0093] FIG. 10 illustrates a situation in which the capacity of the storage unit 400-1 becomes 0 when the storage unit 400-1 executes the storage of compressed inspection image 3, resulting in a failure to store compressed inspection image 3. In this case, the storage unit 400-1 notifies the compression management unit 200 via the image compression unit 300-1 that the storage of compressed inspection image 3 has failed. Upon receiving the notification of the failure to store, the compression management unit 200 instructs the image compression unit 300-1 to stop the transmission process. The image compression unit 300-1 stops the transmission process and performs only the compression process. The destination designation unit 203 then redesignates the destination for compressed inspection image 3 to be stored in the storage unit 400-2, and furthermore, changes the destination for compressed inspection images 4 and 5, which are scheduled to be transmitted subsequently, to the storage unit 400-2. The calculation unit 202 also recalculates the transmission times for compressed inspection images 4 to 7. The compression management unit 200 then notifies the image compression unit 300-1 of the serial number "2" of the new destination storage unit 400-2 and the recalculated transmission time, and commands the image compression unit 300-1 to resume the transmission process. The image compression unit 300-1 resumes the transmission process and transmits the compressed inspection images it holds to the storage unit 400-2 in order, starting with image 3. The series of processing sequences when the capacity of the storage unit 400 is exceeded and storage fails is the same as when some kind of malfunction occurs in the storage unit 400 and storage fails.
[0094] When manufacturing equipment operates for long periods of time and requires the storage of a large number of inspection images, the storage capacity of the storage unit may become insufficient. According to this embodiment, since the storage destination of compressed inspection images can be changed depending on the remaining capacity, storage destinations for inspection images can be secured. Furthermore, once the storage of compressed inspection images is completed, a hot swap can be performed to replace the storage unit with a new one, thereby improving the scalability of storage capacity without interfering with the long-term operation of the manufacturing equipment.
[0095] Fourth Embodiment An inspection image storage system 1 according to a fourth embodiment has a function for changing the storage destination depending on the process when storing inspection images from multiple processes. Functionally, the inspection image storage system 1 includes image acquisition units 100-1 to 100-L (where L is a natural number equal to or greater than 2), a compression management unit 200, image compression units 300-1 to 300-N, and storage units 400-1 to 400-K. Furthermore, the image acquisition units 100-1 to 100-L each include a process identifier assignment unit 101-1 to 101-L. Hereinafter, the image acquisition units 100-1 to 100-L will be collectively referred to as the image acquisition unit 100, unless a specific image acquisition unit is being referred to, and the process identifier assignment units 101-1 to 101-L will be referred to as the process identifier assignment unit 101, unless a specific process identifier assignment unit is being referred to. Figure 11 shows an example of the configuration of the inspection image storage system 1 according to the fourth embodiment. FIG. 11 shows an example in which inspection images in two processes are stored, and there are two image acquisition units 100 and three storage units 400 .
[0096] In the fourth embodiment, the image acquisition unit 100 is provided for each process and acquires an inspection image for each process. The image acquisition unit 100 also has a process identifier assignment unit 101 that assigns a process identifier for identifying the process to the acquired inspection image. The process identifier assignment unit 101 assigns a process identifier to the inspection image each time the image acquisition unit 100 acquires an inspection image. A process refers to a part of a production line at a manufacturing site, such as an inspection process for the machined surface of a workpiece. For example, when the image acquisition unit 100 captures an inspection image in an inspection process for the machined surface of a workpiece, the process identifier assignment unit 101 assigns a process identifier indicating the inspection process to the captured inspection image.
[0097] For example, when the image acquisition unit 100-1 captures an inspection image A1 for process A, the process identifier assignment unit 101-1 assigns a process identifier "A" to the captured inspection image A1. Next, when the image acquisition unit 100-1 captures an inspection image A2 for process A, the process identifier assignment unit 101-1 assigns a process identifier "A" to the captured inspection image A2. Similarly, when the image acquisition unit 100-2 captures an inspection image B1 for process B, the process identifier assignment unit 101-2 assigns a process identifier "B" to the captured inspection image B1. Next, when the image acquisition unit 100-2 captures an inspection image B2 for process B, the process identifier assignment unit 101-2 assigns a process identifier "B" to the captured inspection image B2.
[0098] The storage units 400 in the fourth embodiment are associated with process identifiers. Specifically, serial numbers associated with the process identifiers are assigned to the storage units 400. First, the order of use of the storage units 400 is determined in the order in which they are connected to the image compression unit 300. In FIG. 11, it is assumed that the storage units 400-1, 400-2, and 400-3 are connected to the image compression unit 300 in this order. When the inspection image storage system 1 is operating and the image acquisition unit 100-1 acquires an inspection image A1 for process A and transmits the inspection image A1 to the compression management unit 200 first, the compression management unit 200 determines that the storage unit 400-1, which is first in the order of use, is the storage unit 400 dedicated to process A and assigns the serial number "A-1" associated with the process identifier "A" to the storage unit 400-1. Furthermore, if the image acquisition unit 100-2 acquires an inspection image B1 for process B and transmits the inspection image B1 to the compression management unit 200 after the image acquisition unit 100-1, the compression management unit 200 determines the storage unit 400-2, which is second in the order of use, as the storage unit 400 dedicated to process B, and assigns the serial number "B-1" associated with the process identifier "B" to the storage unit 400-2. The storage unit 400-3 is determined to be third in the order of use, but the process to be used has not been determined, and it is in an unused state. Most recently used storage destination information indicating the serial number of the storage unit 400 most recently used is recorded by the compression management unit 200 for each process.
[0099] The storage destination designation unit 203 of the compression management unit 200 designates a storage unit 400 in which to store the compressed inspection image from among the plurality of storage units 400, based on the process identifier assigned to the inspection image. For example, the storage destination designation unit 203 designates a storage unit 400 in which to store the compressed inspection image, based on the process identifier assigned to the inspection image and the remaining capacity of the storage unit 400.
[0100] Specifically, when the compression management unit 200 receives an inspection image from the image acquisition unit 100, the destination designation unit 203 checks the remaining capacity of the storage unit 400 to which a serial number corresponding to the process identifier assigned to the inspection image has been assigned. If the remaining capacity of the storage unit 400 exceeds a predetermined threshold, the destination designation unit 203 designates the storage unit 400 to which a serial number corresponding to the process identifier assigned to the inspection image has been assigned as the destination, and attaches the serial number assigned to the designated storage unit 400 to the inspection image.
[0101] For example, when the compression management unit 200 receives an inspection image A2 assigned with a process identifier "A" from the image acquisition unit 100-1 for process A, the destination designation unit 203 checks the remaining capacity of the storage unit 400-1, which has been assigned the serial number "A-1" associated with the process identifier "A." If the remaining capacity of the storage unit 400-1 exceeds a predetermined threshold, the destination designation unit 203 assigns the serial number "A-1" to the inspection image A2 and transmits it to the image compression unit 300 to which the allocation unit 201 has allocated the inspection image A2.
[0102] On the other hand, if the remaining capacity of the storage unit 400 is equal to or less than a predetermined threshold, the storage destination designation unit 203 designates an unused storage unit 400 as the storage destination.
[0103] An example of changing the storage destination will be described using FIG. 11 . In FIG. 11 , it is assumed that the remaining capacity of the storage unit 400-1 is below a predetermined threshold. When the compression management unit 200 receives an inspection image A3 assigned a process identifier "A" from the image acquisition unit 100-1 for process A, the storage destination designation unit 203 determines that the remaining capacity of the storage unit 400-1, which is currently being used as the storage destination for process A, is below a predetermined threshold, and designates the unused storage unit 400-3, which is third in the order of use, as the new storage destination exclusively for process A. The storage unit 400-3 is then assigned the serial number "A-2" associated with the process identifier "A." The compression management unit 200 then assigns the serial number "A-2" to the inspection image A3 received from the image acquisition unit 100-1 for process A and transmits the inspection image A3 to the image compression unit 300 to which the allocation unit 201 has assigned the inspection image A3.
[0104] The allocation unit 201 may allocate inspection images to the image compression unit 300 taking into consideration the compression processing load of the inspection images for each process. If there are multiple processes, the data size, compression format, compression rate, etc. of the inspection images may differ for each process. In this case, since the compression processing load per image differs depending on the process, the allocation of inspection images may be changed depending on the compression processing load. Figure 12 shows an example of changing the allocation of inspection images depending on the compression processing load. In the example of Figure 12, the image compression unit 300 is composed of three units. Assume that image acquisition unit 100-1 acquires inspection images A1 and A2, and image acquisition unit 100-2 acquires inspection images B1 to B5. The order in which the inspection images were acquired is inspection image A1, inspection images B1 to B4, inspection image A2, inspection image B5, etc. If the compression process for test images A1 and A2 takes twice as long as the compression process for the other test images B1 to B5, once allocating test image B2 has been completed, test image B3 is allocated to image compression unit 300-2 and test image B4 is allocated to image compression unit 300-3. This allows the time required for the compression process to be equalized. However, if the performance of image compression unit 300-1 is sufficient and the compression process for test image A1 has already been completed and is in a waiting state when test image B3 is allocated, test image B3 may be allocated to image compression unit 300-1.
[0105] When storing inspection images from multiple processes, it is necessary to provide an inspection image storage system for each process and start up the inspection image storage system for each process. Furthermore, dividing the image compression unit into separate sections for each process results in inefficient resource utilization. According to this embodiment, by providing a function for changing the storage destination depending on the process, it is possible to store inspection images from multiple processes in a single inspection image storage system. This reduces the time required to start up the system and enables the image compression function to be shared and effectively utilized.
[0106] (Modifications) Although the embodiments of the present disclosure have been described above, various modifications and applications are possible when implementing the present disclosure.
[0107] In the first embodiment, the inspection image storage system 1 includes the engineering unit 500, but this is not limiting and the engineering unit 500 may be omitted. Also, in the first embodiment, the image acquisition unit 100, the compression management unit 200, the image compression unit 300, the storage unit 400, and the engineering unit 500 are each realized on different information processing devices, but this is not limiting. The engineering unit 500 may be realized on the information processing device on which the compression management unit 200 is realized.
[0108] 6 includes one storage unit 400, but may include multiple storage units 400. When multiple storage units 400 are provided, the images can be stored in chronological order without adding an order sorting function to each storage unit 400.
[0109] In the second embodiment, the engineering department 500 may propose the number calculated based on Equation 1 as the number of image compression units 300 required in the inspection image storage system 1, as in the first embodiment.
[0110] Furthermore, in the third and fourth embodiments, the compression management unit 200 includes the calculation unit 202, but the calculation unit 202 may be omitted.
[0111] 11 shows an example in which one storage unit 400 is used as a dedicated storage unit for each process, but this is not limiting. Multiple storage units 400 may be used for one process. For example, when the inspection image storage system 1 starts operating, the compression management unit 200 may determine that the storage units 400-1 and 400-3 are dedicated storage units 400 for process A.
[0112] The present disclosure allows various embodiments and modifications without departing from the broad spirit and scope of the present disclosure. Furthermore, the above-described embodiments are intended to explain the present disclosure and do not limit the scope of the present disclosure. That is, the scope of the present disclosure is defined by the claims, not the embodiments. Various modifications made within the scope of the claims and the meaning of equivalent disclosures are considered to be within the scope of the present disclosure.
[0113] According to the present disclosure, it is possible to provide an inspection image storage system and an inspection image storage method that can ensure scalability of the compression processing performance of inspection images.
[0114] 1 Inspection image storage system, 10 Information processing device, 11 Processor, 12 Main memory unit, 13 Auxiliary memory unit, 14 Communication unit, 15 Input unit, 16 Output unit, 17 Bus, 100, 100-1, 100-2 Image acquisition unit, 101-1, 101-2 Process identifier assignment unit, 200 Compression management unit, 201 Allocation unit, 202 Calculation unit, 203 Storage destination designation unit, 2021, 301, 301-1, ..., 301-N Synchronization unit, 300, 300-1, ..., 300-N Image compression unit, 400, 400-1, 400-2, 400-3 Storage unit, 500 Engineering unit, 501 Learning data acquisition unit, 502 Model generation unit, 503 Learned model storage unit, 600-1 Inspection image list waiting for compression processing.
Claims
1. An inspection image storage system comprising: an image acquisition means for acquiring an inspection image; a plurality of image compression means for compressing the inspection image; a compression management means for selecting, from the plurality of image compression means, an image compression means to compress the inspection image, allocating the inspection image thereto, and transmitting the inspection image to the image compression means to which the inspection image is allocated; and a storage means for storing a compressed inspection image which is the inspection image compressed by the image compression means, wherein the image compression means is connected to the compression management means and the storage means via a communication network and compresses the inspection image transmitted by the compression management means.
2. The inspection image storage system according to claim 1, wherein the compression management means calculates a transmission time for the image compression means to transmit the compressed inspection image to the storage means, and the image compression means transmits the compressed inspection image to the storage means at the transmission time calculated by the compression management means.
3. The inspection image storage system according to claim 1 or 2, wherein the compression management means acquires information indicating a load status of the plurality of image compression means, and selects, based on the load status related to the acquired information, an image compression means to compress the inspection image and allocates the inspection image thereto.
4. The inspection image storage system according to claim 2, wherein the compression management means uses a learned model that infers a compression processing time required for compressing the inspection image from information on the performance of the image compression means and information on compression by the image compression means and information on the inspection image, acquires the compression processing time required for the image compression means to compress the inspection image, and determines the transmission time based on the acquired compression processing time.
5. The inspection image storage system according to any one of claims 1 to 4, comprising a plurality of the storage means, wherein the compression management means designates, based on the remaining capacity of the storage means, a storage means from the plurality of storage means to store the compressed inspection image.
6. A inspection image storage system comprising: a plurality of the image acquisition means provided for each process and acquiring the inspection image for each process; and a plurality of the storage means; wherein the image acquisition means attaches a process identifier for identifying a process to the acquired inspection image; the storage means is associated with the process identifier; and the compression management means designates, based on the process identifier attached to the inspection image, a storage means to which the compressed inspection image is to be stored from the plurality of storage means; the inspection image storage system according to any one of claims 1 to 5.
7. An inspection image storage method executed by an inspection image storage system, wherein the compression management means selects, from a plurality of image compression means, an image compression means to compress an inspection image acquired by the image acquisition means, assigns the inspection image to the selected image compression means, and transmits the inspection image to the image compression means to which the inspection image is assigned; the image compression means among the plurality of image compression means to which the inspection image is assigned by the compression management means compresses the inspection image transmitted by the compression management means; the storage means stores a compressed inspection image which is the inspection image compressed by the image compression means; and in the inspection image storage system, the image compression means is connected to the compression management means and the storage means via a communication network; the inspection image storage method.
Citation Information
Patent Citations
Distributed production system for digitally encoding information
JP2002537572A
Image storage device
JP2010219766A
Image processor, image processing method and computer program
JP2013108799A
Coding techniques to optimize distortion and bit rate
JP2020530955A
System and method for managing image data file
WO2002023480A1