The present invention relates to an information processing apparatus, an information processing method, and a storage medium, which are mainly used for pre-shipment inspection.
In commercial printing industry, various products have conventionally been manufactured by the combination of an image forming apparatus and a post-processing apparatus. For example, printed matter produced in a printing process in an image forming apparatus is then subjected to a post-process (finishing process) such as bookbinding and cutting, thereby manufacturing products in various formats such as books, catalogs, flyers, tickets, and business cards.
The manufactured products are generally packed together with invoices or delivery slips and then shipped. In this case, an operator identifies the products based on identification information (such as bar codes) assigned to the products when packing invoices or delivery slips corresponding to the products.
In some cases, however, identification information such as bar codes cannot be assigned to products such as flyers, tickets, and business cards for design or space reasons, which makes product identification difficult. Accordingly, in such a case where identification information such as bar codes cannot be assigned to products, identifying a product by capturing an image of the product and executing similar image retrieval based on image features of the product is taken into consideration. For instance, Japanese Patent Laid-Open No. 2014-10723 discloses a method of associating an image of an object with cooperative information, registering them in a database, retrieving a similar image from the database based on image features using a captured image of the object, and suggesting cooperative information associated with the similar image. However, this similar image retrieval based on image features has a problem that if there are a plurality of images having a high degree of similarity of image features, an incorrect one is selected as a candidate.
The present invention has been accomplished in consideration of the above conventional problem. The object of the present invention is to prevent a product from being shipped to an incorrect delivery address.
To attain the above object, an information processing apparatus of the present invention comprises: a management unit configured to manage whether to set each of a plurality of images as a retrieval target; a retrieval unit configured to retrieve an image similar to an image of a first product from a plurality of images managed as retrieval targets by the management unit in a case where an instruction to start execution of jobs for manufacturing the first product is issued; and a control unit configured to perform control to execute the jobs used for manufacturing the first product and to control the management unit to manage an image corresponding to the first product as a retrieval target in a case where no image similar to the image of the first product is retrieved by the retrieval unit.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
The configuration of a product manufacturing system according to an embodiment of the present invention will be described with reference to the drawings.
The information processing apparatus 101 executes various programs such as a job management program for managing the manufacture of printed matter, a web server, a pre-shipment inspection program used upon shipment, and a bar code reading program. Further, a printer driver program or the like for controlling the image forming apparatuses 102 and 104 is installed on the information processing apparatus 101. The information processing apparatus 101 analyzes order information and the like and generates print data for printing in the image forming apparatuses 102 and 104.
The image forming apparatus 102 analyzes print data including text print data transmitted from the information processing apparatus 101, converts the data into a dot image page by page, and executes a printing process. Printed matter produced by the image forming apparatus 102 is hand-carried by a print operator to the post-processing apparatus 103 or conveyed by a belt conveyor (not shown) to the post-processing apparatus 103.
The post-processing apparatus 103 executes a post-process such as binding, punching, or folding for the printed matter produced by the image forming apparatus 102 based on a job (i.e. a command) transmitted from the information processing apparatus 101. In
Like the image forming apparatus 102, the image forming apparatus 104 analyzes print data including text print data transmitted from the information processing apparatus 101 and the like, converts the data into a dot image page by page, and executes a printing process. Printed matter (i.e. an invoice or delivery slip) output from the image forming apparatus 104 is packed and shipped by a print operator together with a product obtained by executing a post-process for printed matter produced by the image forming apparatus 102.
In
The RAM (random access memory) 201 is a main memory of the CPU 200 and functions as a work area and the like. The ROM (read only memory) 202 includes a program ROM and a data ROM and stores programs executed by the CPU 200. A keyboard controller 203 controls operation input from a keyboard 208, a bar code reader (not shown), and a pointing device (such as a mouse, touchpad, touch panel, and trackball; not shown).
A display controller 204 controls display on a display 209. A disk controller 205 controls data access to the external memory 210 such as a hard disk (HD) and a flexible disk (FD) for storage of various kinds of data. A camera controller 206 controls input of captured image data from a camera 211. A network controller (NC) 207 is connected to the network and executes a process to control communications with other devices connected to the network.
An order information management unit 302 controls data exchange with an order information storage unit 303. That is, the order information management unit 302 receives the analysis results of the order information from the control unit 300 and stores them in the order information storage unit 303. The order information storage unit 303 stores the analysis results of the order information. The order information storage unit 303 may store the analysis results in the RAM 201, store them as a file in the external memory 210, or store them in a data storage program such as a database.
The control unit 300 extracts a file path of an image file from the analysis results of the order information stored in the order information storage unit 303, then acquires the image file (i.e. a product image) based on the file path, and registers the acquired image file in a feature DB 304. That is, an image file of an ordered product is registered in the feature DB 304. When an image file is registered in the feature DB 304, the feature DB 304 returns an image ID of the image file to the control unit 300. In this case, the control unit 300 associates the image ID returned from the feature DB 304 with the analysis results and passes them to the order information management unit 302. The order information management unit 302 associates the image ID received from the control unit 300 with the analysis results and stores them in the order information storage unit 303. A feature calculation unit 305 calculates features of the image file registered in the feature DB 304, associates the image ID of the image file with the features, and registers them in the feature DB 304.
A job generation unit 306 receives the analysis results of the order information from the control unit 300, calculates steps necessary for manufacturing the ordered product, and generates the calculated steps as jobs. The jobs include, for example, a print job used for a printing process in the image forming apparatus 102 and a finishing job used for a post-process in the post-processing apparatus 103. Information about each job is generated in the job generation unit 306 and then passed to the control unit 300.
A job management unit 307 controls data exchange with a job storage unit 308. That is, upon receipt of job information from the control unit 300, the job management unit 307 associates the job information with the order information and stores them in the job storage unit 308. The job storage unit 308 may store the information in the RAM 201, store it as a file in the external memory 210, or store it in a data storage program such as a database.
A job transmission unit 309 corresponds to a job control unit and a delivery address acquisition unit of the present invention. The job transmission unit 309 receives the job information stored in the job storage unit 308 from the control unit 300 and transmits it to the image forming apparatus 102 and the post-processing apparatus 103. A job to be transmitted is selected based on operation input accepted by the keyboard controller 203 and the like. At the start of a transmission process of a job, the job transmission unit 309 passes an image file to a retrieval execution unit 311 based on a path of the image file included in order information about an order associated with the job, whose transmission process is started, received from the order information management unit 302 to the control unit 300. An image capture control unit 310 controls the start/stop of capture of printed matter with the camera 211 to generate a captured image. The captured image is generated in a file format such as bitmap or JPEG.
The retrieval execution unit 311 is instructed by the control unit 300 to execute retrieval from the feature DB 304 using query image data. The retrieval execution unit 311 compares features of images set as retrieval targets with features of the query image data, retrieves an image having a degree of similarity of features equal to or greater than a threshold (i.e. an image having similar image features), and passes an image ID of the retrieved image to the control unit 300. The retrieval execution unit 311 executes retrieval only from images with a manufacture possible status flag of “True.” If the degree of similarity of features is less than the threshold as to all the retrieval target images, the retrieval execution unit 311 returns no image ID and determines that no applicable result exists. The manufacture possible status means a status where all jobs necessary for manufacturing a product are transmitted from the job transmission unit 309. At the stage of job execution control (
A print data generation unit 312 receives an image ID from the control unit 300, then acquires order information from the image ID, and generates print data based on the order information. A print execution unit 313 is a control mechanism that controls the execution of printing by transmitting the print data generated by the print data generation unit 312 to the image forming apparatuses 102 and 104.
A target image management unit 314 receives information about a product, all jobs necessary for manufacturing the product having been transmitted from the job transmission unit 309, and sets the value of the manufacture possible status flag to “True” such that an image of the product becomes a retrieval target in the feature DB 304. Further, the target image management unit 314 sets the value of the manufacture possible status flag of a product, whose pre-shipment inspection has been completed, to “False” such that an image of the product is excluded from retrieval targets in the feature DB 304. The pre-shipment inspection means a process to check whether a manufactured product is no different from a product to be shipped.
Column 703 denotes the status of each job. For example, whether a job is in a pending, processing, or completed status is shown as the job status. In column 704, if an image similar to a product of a job is retrieved (i.e. if the transmission of the job from the job transmission unit 309 is suspended), the job management unit 307 stores a product name corresponding to the similar image which causes the suspension. If no image similar to a product of a job is retrieved (i.e. if the job is transmitted from the job transmission unit 309), the job management unit 307 stores “None” in column 704.
As shown in
The order information registration unit 301 reads order information on a placed order, analyzes the order information, and passes analysis results to the control unit 300 (S1001). The analysis results mean information about a product corresponding to the order information. The control unit 300 extracts a file path of an image file from the analysis results and acquires the image file based on the file path (S1002).
The control unit 300 registers the image file acquired in step S1002 in the feature DB 304 (S1003). At this time, an image ID of the image file is generated. Further, since job transmission is not yet started, “False” is set to column 802 of the above-described information in
The control unit 300 acquires the generated image ID of the image file from the feature DB 304 and passes the acquired image ID and the analysis results to the order information registration unit 301 (S1004). The order information registration unit 301 requests the order information management unit 302 to store the image ID and analysis results received from the control unit 300 in the order information storage unit 303. Upon receipt of the request from the order information registration unit 301, the order information management unit 302 associates the image ID with the analysis results and stores them in the order information storage unit 303 (S1005).
The job generation unit 306 generates steps necessary for manufacturing the ordered product as jobs based on the analysis results (S1006). The job management unit 307 stores the jobs generated by the job generation unit 306 in the job storage unit 308 (S1007).
The job transmission unit 309 selects a job whose transmission process is to be started based on a content input to the keyboard 208 by an operator (S1101). The job transmission unit 309 accepts a job transmission instruction (i.e. a job input instruction) given by the operator as to the job selected in step S1101 (S1102). After accepting the job transmission instruction given by the operator, the information processing apparatus 101 controls execution relating to the job (S1103).
The job selection in step S1101 and the input relating to the job transmission instruction in step S1102 are executed based on the input by the operator in the example shown in
The job transmission unit 309 acquires information on a product to be subjected to job execution control from job information stored in the job storage unit 308 via the job management unit 307 (S1201). The retrieval execution unit 311 executes image retrieval only from images of products in the manufacture possible status stored in the feature DB 304 using an image of the product included in the product information transmitted from the job transmission unit 309 (S1202).
The retrieval execution unit 311 determines whether the degree of similarity between features of the image of the product included in product information transmitted from the job transmission unit 309 and features of the images of the products in the manufacture possible status is equal to or greater than the threshold (S1203). That is, the retrieval execution unit 311 determines whether there is an image of a product in the manufacture possible status that is similar to the image of the product included in the product information transmitted from the job transmission unit 309 as a result of the image retrieval in step S1202.
If the retrieval execution unit 311 retrieves an image having a degree of similarity of features equal to or greater than the threshold (Yes in S1203), the control unit 300 passes an image ID of the retrieved image to the control unit 300 and proceeds to step S1204. If the degree of similarity of features is less than the threshold as to all the images of the products in the manufacture possible status stored in the feature DB 304 (No in S1203), the control unit 300 proceeds to step S1205 without returning an image ID.
Then, in step S1204, the job transmission unit 309 determines whether a delivery address of a product corresponding to the image ID passed to the control unit 300 is different from a delivery address of the product to be subjected to job execution control (S1204). If the job transmission unit 309 determines that these delivery addresses are different from each other (Yes in S1204), the control unit 300 proceeds to step S1207. If the job transmission unit 309 determines that the delivery addresses are no different from each other (No in S1204), the control unit 300 proceeds to step S1205.
That is, if it is determined that the degree of similarity of features is less than the threshold in step S1203, or if the delivery addresses are no different from each other in step S1204, a process in step S1205 is executed. In step S1205, if a job to be subjected to execution control is in the pending status, the job transmission unit 309 releases the pending status of the job (S1205). In other words, the job to be subjected to execution control is brought into a transmission possible status.
The target image management unit 314 makes registration based on the product corresponding to the job to be subjected to execution control such that an image of the product becomes a retrieval target as one of images of products in the manufacture possible status in the feature DB 304 (S1206). That is, the target image management unit 314 changes the value of the manufacture possible status flag from “False” to “True.”
On the other hand, if it is determined that the degree of similarity of features is equal to or greater than the threshold in step S1203 and the delivery addresses are different from each other in step S1204, a process in step S1207 is executed. In step S1207, if a job to be subjected to execution control applies to a job in the last step among jobs necessary for manufacturing the product, the job transmission unit 309 brings the job to be subjected to execution control into the pending status (S1207). For example, on condition that the job to be subjected to execution control is a post-process for joining printed matter with a stapler, which is a job in the last step of a manufacturing process of the product, the post-process (job) is brought into the pending status. In step S1208, the job transmission unit 309 transmits a job that is not in the pending status to the image forming apparatus 102 or the post-processing apparatus 103 (S1208). That is, the job transmission unit 309 controls the image forming apparatus 102 or the post-processing apparatus 103 to execute the job.
The image capture control unit 310 captures an image of the manufactured product to generate captured image data (S1301). The retrieval execution unit 311 inputs the generated captured image data to the feature DB 304, executes image retrieval, and identifies the image of the manufactured product (S1302). The retrieval execution unit 311 reads an image ID of the identified product from the feature DB 304 and passes it to the control unit 300.
Upon receiving the image ID of the identified product from the control unit 300, the order information management unit 302 determines that pre-shipment inspection of a product corresponding to the image ID of the identified product has been completed and executes a registration procedure (S1303). The target image management unit 314 changes the value of the manufacture possible status flag in column 802 in
The order information management unit 302 determines whether all products of the same order and the same delivery address as those of the product whose pre-shipment inspection has been completed have passed pre-shipment inspection (S1305). If all the products of the same order and the same delivery address have passed pre-shipment inspection, the information processing apparatus 101 proceeds to step S1306. If any of the products of the same order and the same delivery address has not yet passed pre-shipment inspection, the information processing apparatus 101 proceeds to step S1307.
In step S1306, the print data generation unit 312 generates print data for a delivery slip based on the order information on the products that have passed pre-shipment inspection, and the print execution unit 313 transmits the generated print data to the image forming apparatus 104 to execute a printing process of the delivery slip (S1306).
In step S1307, the job transmission unit 309 acquires information on the products that have passed pre-shipment inspection and then determines whether jobs in the pending status include a job relating to a product similar to the products that have passed pre-shipment inspection (S1307). To be more specific, the job transmission unit 309 compares the name of the similar product relating to the pending jobs in column 704 in
In step S1307, if it is determined that the jobs in the pending status include a job relating to the product similar to the products that have passed pre-shipment inspection (Yes in S1307), the job transmission unit 309 carries out a transmission instruction of the job (S1308). In the present embodiment, the job transmission instruction in step S1308 is automatically carried out by the job transmission unit 309. The information processing apparatus 101 executes the same job control as that in
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
According to the present invention, a product can be prevented from being shipped to an incorrect delivery address.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2016-249674, filed Dec. 22, 2016, which is hereby incorporated by reference wherein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2016-249674 | Dec 2016 | JP | national |