This application claims the benefit of Japanese Priority Patent Application JP 2012-254166 filed Nov. 20, 2012, the entire contents of which are incorporated herein by reference.
The present disclosure relates to an information processing apparatus, an information processing method, and a program.
In the conditions for the assembly of a toy, furniture or electrical appliance, for example, work is performed which constructs one real model from a plurality of elements (parts) in accordance with instructions. In particular, in the case where an end user undertakes the construction work, it is important that accurate and easy to understand instructions are provided. Usually, instructions are created by a specialist using a tool such as CAD (Computer Aided Design), based on the design of a model. If the creation of these instructions can be automatically performed, it will be beneficial from the viewpoint of productivity of the product in accordance with the instructions.
However, automatically deriving a construction procedure of this model from a given model will not necessarily be easy. Accordingly, U.S. Pat. No. 7,979,251 has proposed a semi-automatic solution in accordance with interactions with a user. In the technology proposed by U.S. Pat. No. 7,979,251, first the completed form of a model is displayed on the screen of a computer. Then, the elements to be removed from the model are sequentially selected by a user, and the sequence of removal steps is stored by the computer. A sequence of construction steps for the instructions is guided by reversing the sequence of the stored removal steps.
The technology proposed by U.S. Pat. No. 7,979,251 assumes that a complete digital representation of the model is prepared in advance, and that the user handles the model on a computer. However, the user himself or herself handling the model on a computer can become a burden for a user who is not a specialist, in terms of both skill and economy Further, since a digital representation of a model does not usually exist, for a real model originally constructed by an end user, instructions are not able to be created for this real model by using the technology presented in U.S. Pat. No. 7,979,251. Nowadays, when an information exchange between users is activated in accordance with advancements of the communication environment, the need to share a user's original model with other users is increasing. Existing technology does not sufficiently satisfy this need.
Therefore, it is desirable to provide an improved mechanism, in which a user is capable of easily creating instructions for constructing a real model, as a target for various models.
According to an embodiment of the present disclosure, there is provided an information processing apparatus including an image acquisition section which acquires a series of input images projecting processes in which individual elements are removed from a real model constructed from a plurality of elements, a recognition section which recognizes an element configuration of the real model by using the input images acquired by the image acquisition section, and a determination section which determines a construction procedure for constructing the real model based on the element configuration recognized by the recognition section.
Further, according to an embodiment of the present disclosure, there is provided an information processing method executed by an information processing apparatus, the method including acquiring a series of input images projecting processes in which individual elements are removed from a real model constructed from a plurality of elements, recognizing an element configuration of the real model by using the acquired input images, and determining a construction procedure for constructing the real model based on the recognized element configuration.
Further, according to an embodiment of the present disclosure, there is provided a program for causing a computer which controls an information processing apparatus to function as an image acquisition section which acquires a series of input images projecting processes in which individual elements are removed from a real model constructed from a plurality of elements, a recognition section which recognizes an element configuration of the real model by using the input images acquired by the image acquisition section, and a determination section which determines a construction procedure for constructing the real model based on the element configuration recognized by the recognition section.
According to the technology according to the embodiments of the present disclosure, it becomes possible for a user to easily create instructions for constructing a real model, as a target for various models.
Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the appended drawings. Note that, in this specification and the appended drawings, structural elements that have substantially the same function and structure are denoted with the same reference numerals, and repeated explanation of these structural elements is omitted.
The description will be made in the following order.
1. Outline of the embodiments
2. Configuration of the information processing apparatus
2-1. Hardware configuration example
2-2. Functional configuration example
2-3. Example of the flow of processes
2-4. Example of instructions
3. Modified example
4. Conclusion
In the technology proposed by U.S. Pat. No. 7,979,251, an image of a completed conceptual model is displayed on the screen of a computer, and a user sequentially selects the elements to be removed from the conceptual model via a user interface. On the other hand, in the technology according to the present disclosure, the information processing apparatus 100 images the processes in which a user sequentially removes the actual elements from the real model. Then, the information processing apparatus 100 recognizes an element configuration of the real model, based on a series of imaged images. As can be understood from the example of
In the present embodiment, the visual features (for example, one or more from among the color, shape and size) of the elements constituting the model are standardized in advance. Also, the elements are classified into a finite number of types depending on these visual features.
In the example of
In the following description, an example will be mainly described in which the technology according to the present disclosure is applied to a model constructed from blocks for a toy. However, the use of the technology according to the present disclosure is not limited to such an example. For example, it is possible to apply the technology according to the present disclosure to furniture constructed from elements such as planks, square timber, bolts and nuts, or to electrical appliances constructed from elements such as housings, substrates and cables.
The information processing apparatus 100 may be a generic apparatus such as a PC (Personal Computer), a smartphone, a PDA (Personal Digital Assistant) or a game terminal, or may be a specialist apparatus implemented in order to create instructions. In the present section, a detailed configuration of the information processing apparatus 100 will be described.
The camera 102 has, for example, imaging sensors such as a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor), and performs imaging of images.
The user interface 104 includes, for example, an input device such as a touch sensor, a pointing device, a keyboard, buttons or switches. Further, the user interface 104 may include a voice recognition module which recognizes voice commands originating from the user. The user interface 104 provides a user interface for the user to operate the information processing apparatus 100, and detects a user input.
The storage section 108 has a storage medium such as a semiconductor memory or a hard disk, and stores data and programs used by the control section 118. Note that a part of the data and programs described in the present disclosure may not be stored by the storage section 108, and may instead be acquired from an external data source (for example, a data server, a network storage, an external memory or the like).
The display section 110 is constituted of an LCD (Liquid Crystal Display), an OLED (Organic Light-Emitting Diode), a CRT (Cathode Ray Tube) or the like, and displays output images generated by the information processing apparatus 100.
The communication interface 112 establishes a communication connection between the information processing apparatus 100 and another apparatus, in accordance with an arbitrary wireless communication protocol or wired communication protocol.
The bus 116 mutually connects the camera 102, the user interface 104, the storage section 108, the display section 110, the communication interface 112, and the control section 118.
The control section 118 corresponds to a processor such as a CPU (Central Processing Unit) or a DSP (Digital Signal Processor). The control section 118 operates various functions of the information processing apparatus 100, by executing the programs stored in the storage section 108 or another storage medium.
The image acquisition section 120 acquires, from the camera 102, a series of input images (that is, an input video) projecting the processes in which the individual elements are removed from the real model. Also, the image acquisition section 120 outputs the acquired input images to the configuration recognition section 150.
The data acquisition section 130 acquires feature data which shows the existing visual features of each of the elements constituting the real model. In the present embodiment, the feature data is stored by the feature DB 140 in advance. As another embodiment, for example, the data acquisition section 130 may transmit a request to an external data server (for example, a server of an enterprise or the like which manufactures or sells sets of elements) via the communication interface 112, or may acquire the feature data received from this data server. Also, the data acquisition section 130 outputs the acquired feature data to the configuration recognition section 150.
The feature DB 140 is a database which stores feature data.
The “element type” is a character string which identities the type of each element. Different types are provided for elements having different visual features. In the example of
The “color” represents the color for each element type. In the example of
The “size” represents the size for each element type. In the example of
The “external appearance” can include a sample image, or a set of feature quantities extracted from a sample image, for each element type. The extraction of the image feature quantities from a sample image may be performed, for example, in accordance with an arbitrary well-known technique such as a Random Ferns method or a SURF method.
The configuration recognition section 150 recognizes the element configuration of the real model. In the present embodiment, the element configuration includes element identification information and arrangement information for each of the plurality of elements constituting the real model.
With reference to
In the example of
The coordinate system of the model sets a point on any one of the elements in the model (typically, the element initially appearing in the construction procedure) as an origin, and is set so as to be suitable for the characteristics of the elements. The entry of the element EL01 of
In addition to the element EL01, an element EL02 is also shown in the center part of
In addition to the elements EL01 and EL02, an element EL03 is also shown in the right part of
In the case where a user does not construct a real model while referring to a conceptual model prepared in advance, a complete element configuration such as that described in
Hereinafter, three examples of techniques for identifying the elements removed from the real model by the configuration recognition section 150 will be described by using
In the first technique, the configuration recognition section 150 recognizes the element configuration of the real model, by collating the features of the elements projected in the input images with the feature data acquired by the data acquisition section 130. More specifically, each time an element is removed from the real model, the configuration recognition section 150 calculates a difference between a first model image prior to the removal of the element and a second model image after the removal. Then, the configuration recognition section 150 identifies the removed element, by collating the visual features appearing in the calculated difference with the feature data. In the example of
For example, in the case where all the element types are capable of being uniquely identified by only a color, the configuration recognition section 150 may collate the features of the colors of the partial image D1 with a color for each element type shown by the feature data 142. Further, for example, the configuration recognition section 150 may recognize the shape of the elements projected in the partial image D1, by using a well-known shape recognition algorithm such as an SFS (Shape from Shading) method or an SFM (Structure from Motion) method, and may collate the recognized shape with a shape for each element type shown by the feature data 142. Further, the configuration recognition section 150 may collate a feature quantity set extracted from the partial image D1 with an existing feature quantity set for each element type included in the feature data 142. In the example of
Also in the second technique, the configuration recognition section 150 recognizes the element configuration of the real model, by collating the features of the elements projected in the input images with the feature data acquired by the data acquisition section 130. However, in the second technique, each time an element is removed from the real model, the user presents the removed element to the camera of the information processing apparatus 100. The configuration recognition section 150 identifies each element, by collating the visual features appearing in the element images of the presented elements with the feature data input from the data acquisition section 130. In the example of
In the third technique, the configuration recognition section 150 does not use the feature data acquired by the data acquisition section 130. Alternatively, each element has identification information, which identifies this element, within the element or on an element surface. For example, the identification information here may be information stored by an RF (Radio Frequency) tag built into the element, or information shown by a one-dimensional or two-dimensional bar code attached to the element surface. The configuration recognition section 150 identifies each element, by reading such identification information from each removed element. In the example of
The configuration recognition section 150 can recognize, for example, the arrangement in the real model of each element removed from the real model, based on a difference between the above described first model image and the above described second model image.
The procedure determination section 160 determines the construction procedure for constructing the real model, based on the element configuration recognized by the configuration recognition section 150. More specifically, the procedure determination section 160 describes, within the element configuration data, the element identification information and arrangement information output from the configuration recognition section 150 in the order of the removed elements. Then, when the removal of elements by the user is completed, the procedure determination section 160 determines the construction procedure, by reversing the order of the element identification information and arrangement information within the element configuration data.
A completed real model M1 is shown in the upper part of
In a second removal step RS12, the user removes the element EL12 which is positioned on the upper back of the real model M1. As a result of this, an element configuration entry EE12 is generated for the removed element EL12. The element configuration entry EE12 shows that the entry EL12 belongs to the element type T421, and has an orientation of 0° and coordinates (0, 4, 0) on the basis of the provisional origin P12.
With reference to
In a fourth removal step RS14, the user removes the element EL14 which is positioned in the upper right front of the real model M1. As a result of this, an element configuration entry EE14 is generated for the removed element EL14. The element configuration entry EE14 shows that the entry EL14 belongs to the element type T421, and has an orientation of 90° and coordinates (3, 0, 1) on the basis of the provisional origin P13.
After the fourth removal step RS14, the four elements EL15, EL16, EL17, and EL18 remain in the real model M1. While the removal of the elements can be continued from this point onwards, in order to avoid a redundant description, this will be omitted from this description.
The procedure determination section 160 generates construction procedure data 174 such as that shown in the lower part of
The procedure determination section 160 stores such generated construction procedure data in the procedure storage section 170.
The procedure storage section 170 stores the construction procedure data which shows the construction procedure of the real model determined by the procedure determination section 160. The construction procedure data is used for the generation of instructions by the instruction generation section 180 which will be described next.
The instruction generation section 180 generates instructions IST which indicate to a user the construction procedure of the real model determined by the procedure determination section 160. In the present disclosure, the instructions are concepts which can include a manual, help, guidance, navigation or the like for supporting the work of the user. Note that the user who uses the instructions may be a same user as the user who constructed the real model, or may be a different user.
The instructions IST may be document data, for example, which shows in stages the work in which each element is attached to the real model in the order shown by the construction procedure data. The document data may be used for printing the document on paper, or may be used for inspecting the instructions on a screen. In addition to text, the document data can also include images such as illustrations or photographs. Further, the instruction generation section 180 may embed, into the document data, moving images which express a state in which at least one element is attached. The embedded moving images may be, for example, virtually generated animations, or may be images generated by using the input images acquired by the image acquisition section 120.
Further, the instruction generation section 180 may insert, into the instructions IST, a list of the elements included in the element configuration of the real model. By being provided with a list of elements, the user can appropriately prepare necessary elements prior to the start of construction of the real model. Further, the user can judge, by referring to the list of elements, whether an intended real model can be constructed by using an element set that the user possesses himself or herself.
Some examples of instructions generated by the instruction generation section 180 will be further described afterwards.
With reference to
First, a model image of the completed real model is acquired as an input image by the image acquisition section 120, and the data is initialized (for example, a new model ID is allocated to the real model, and a completed image of the real model is stored) (step S105).
Next, the configuration recognition section 150 judges whether or not an element has been removed from the real model projected in the input image (step S110). The judgment here may be performed by monitoring the input image, or may be performed by receiving a user input which notifies that an element has been removed.
When it is judged that an element has been removed from the real model, the configuration recognition section 150 acquires a model image after the element removal (step S115). Further, the configuration recognition section 150 calculates a difference between the model image prior to the element removal and the model image after the removal (step S120). Then, the configuration recognition section 150 identifies the removed element in accordance with one of the above described first to third methods (step S125), and recognizes the arrangement (orientation and position) of the removed element (step S130).
Next, the procedure determination section 160 adds, to the element configuration data, an element configuration entry which includes element identification information and arrangement information input from the configuration recognition section 150 (step S135).
Next, the configuration recognition section 150 judges whether or not the removed element is the final element (step S140). The judgment here may be performed by recognizing the number of elements remaining in the real model, or may be performed by receiving a user input which notifies that the removal of elements is completed. In the case where the removed element is not the final element, the process returns to step S110, and the processes of step S110 to step S140 are repeated for the next removed element. In the case where the removed element is the final element, the process proceeds to step S145.
In step S145, the procedure determination section 160 determines the construction procedure by reversing the order of the entries within the element configuration data, and generates construction procedure data which shows the determined construction procedure (step S145).
Afterwards, in the case where the generation of instructions is to be continuously performed (step S150), the instruction generation section 180 generates instructions for the construction of the real model, based on the construction procedure data generated by the procedure determination section 160 (step S155).
The image acquisition section 220 acquires, in a construction procedure determination mode, a series of input images projecting the processes in which the individual elements are removed from the real model, similar to that of the above described image acquisition section 120. Also, the image acquisition section 220 outputs the acquired input images to the configuration recognition section 150. Further, the image acquisition section 220 acquires, in an instruction provision mode, a series of input images projecting the elements as the parts of the real model to be constructed by a user. Also, the image acquisition section 220 outputs the acquired input images to the image recognition section 280 and the instruction generation section 290. A user interface for switching between these modes may also be provided.
The data acquisition section 230 outputs, in a construction procedure determination mode, feature data which shows the existing visual features of each of the elements to the configuration recognition section 150, similar to that of the above described data acquisition section 230. Further, the data acquisition section 230 outputs, in an instruction provision mode, this feature data to the image recognition section 280.
The image recognition section 280 recognizes the elements projected in an input image input from the image acquisition section 220, by using the feature data input from the data acquisition section 230. For example, the image recognition section 280 may recognize the type and position of the elements projected in the input image, by collating an existing feature quantity set including the feature data with a feature quantity set extracted from the input image. Also, the image recognition section 280 outputs an element recognition result to the instruction generation section 290.
In the case where an incomplete real model or element is projected in a new input image, the instruction generation section 290 generates, in an instruction provision mode, instructions which relate to this real model or this element. The instructions generated here include display objects such as an annotation of a so-called AR (Augmented Reality). The content of the instructions can be determined based on an element recognition result input from the image recognition section 280. Also, the instruction generation section 290 displays the generated instructions on the screen superimposed on the input image.
Up to here, embodiments of the technology according to the present disclosure have been described in detail, by using
As a result of the above described mechanism being implemented, for example, it becomes possible for a new mode of communication in which original instructions for sharing a user's original model are exchanged between users. In this way, the appeal as an element set is enhanced, and an effect is also expected in which competiveness is improved in the commodity market.
Further, according to the above described embodiments, each time an element is removed from the real model, element identification information and arrangement information is recognized as an element configuration for each of the elements constituting this real model. Therefore, in the case where elements exist, in the completed real model, which are not able to be viewed from the outside, these elements can be reflected in the construction procedure by accurately recognizing the final arrangement of all the elements.
Further, according to the above described embodiments, an element configuration of the real model is recognized, based on the existing visual features of each element. For example, the elements are standardized, such as in blocks for a toy, and it is not difficult to make the visual features of these elements into a database in advance. Therefore, the above described technique based on the existing visual features of the elements is very suitable for such a usage. Further, as long as the elements are standardized, it is possible for the technology according to the present disclosure to be applied, by distributing feature data which shows these visual features after the fact, for an element set which has already been purchased.
Further, according to the above described embodiments, each element can be identified, based on the visual features appearing in a difference between a first model image prior to the removal of each element and a second model image after this removal. In this case, a user can obtain a construction procedure for instructions, by simply continuing to photograph the real model while the elements are removed and without imposing special operations for the identification of the elements. In the case where the elements are identified by using identification information which can be built into an element or attached to an element surface, the recognition accuracy of the element configuration can be improved even though there may be a necessary cost for introducing the identification information.
Note that the series of processes by each apparatus described in the present disclosure are typically implemented with software. For example, programs which constitute software implementing the series of processes are stored in advance in a storage medium (a non-transitory media) included within each apparatus or externally. Also, for example, each program is read in a RAM (Random Access Memory) at the time of execution, and is implemented by a processor such as a CPU.
Further, instead of being implemented on these apparatuses, a part of the logical functions of each apparatus may be implemented on an apparatus which exists within a cloud computing environment. In this case, information exchanged between the logical functions can be transmitted or received between the apparatuses via the communication interface 112 shown in the example of
It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof.
Additionally, the present technology may also be configured as below.
an image acquisition section which acquires a series of input images projecting processes in which individual elements are removed from a real model constructed from a plurality of elements;
a recognition section which recognizes an element configuration of the real model by using the input images acquired by the image acquisition section; and
a determination section which determines a construction procedure for constructing the real model based on the element configuration recognized by the recognition section.
wherein the element configuration recognized by the recognition section includes element identification information and arrangement information for each of the plurality of elements.
a data acquisition section which acquires feature data showing existing visual features of each of the plurality of elements,
wherein the recognition section recognizes the element configuration by collating features of elements projected in the input images with the feature data acquired by the data acquisition section.
wherein the recognition section identifies each element by collating visual features appearing in a difference between a first model image prior to removal of each element and a second model image after this removal with the feature data.
wherein the recognition section recognizes each element by collating visual features appearing in an element image of each element removed from the real model with the feature data.
wherein the recognition section recognizes an arrangement of each element in the real model based on the difference between the first model image and the second model image.
wherein each of the plurality of elements has identification information identifying the element within the element or on an element surface, and
wherein the recognition section identifies each element by reading the identification information.
wherein the determination section determines the construction procedure by reversing an order of the element identification information and the arrangement information described in the element configuration by an order of removed elements.
a generation section which generates instructions which indicate to a user the construction procedure determined by the determination section.
wherein in a case where an incomplete real model or element is projected in a new input image, the generation section superimposes the generated instructions on the new input image by generating the instructions which relate to the incomplete real model or element.
wherein the instructions are document data which shows in stages work in which each element is attached to the real model by a reverse order of an order of removed elements.
wherein the generation section embeds, in the document data, a moving image which expresses a state in which at least one element is attached.
wherein the generation section inserts, into the instructions, a list of elements included in the element configuration.
acquiring a series of input images projecting processes in which individual elements are removed from a real model constructed from a plurality of elements;
recognizing an element configuration of the real model by using the acquired input images; and
determining a construction procedure for constructing the real model based on the recognized element configuration.
an image acquisition section which acquires a series of input images projecting processes in which individual elements are removed from a real model constructed from a plurality of elements;
a recognition section which recognizes an element configuration of the real model by using the input images acquired by the image acquisition section; and
a determination section which determines a construction procedure for constructing the real model based on the element configuration recognized by the recognition section.
Number | Date | Country | Kind |
---|---|---|---|
2012-254166 | Nov 2012 | JP | national |