WO2021039850A1 - 情報処理装置、設定装置、画像認識システム、ロボットシステム、設定方法、学習装置、及び学習済みモデルの生成方法 - Google Patents

情報処理装置、設定装置、画像認識システム、ロボットシステム、設定方法、学習装置、及び学習済みモデルの生成方法 Download PDF

Info

Publication number
WO2021039850A1
WO2021039850A1 PCT/JP2020/032207 JP2020032207W WO2021039850A1 WO 2021039850 A1 WO2021039850 A1 WO 2021039850A1 JP 2020032207 W JP2020032207 W JP 2020032207W WO 2021039850 A1 WO2021039850 A1 WO 2021039850A1
Authority
WO
WIPO (PCT)
Prior art keywords
size
index
image
bottle
information
Prior art date
Application number
PCT/JP2020/032207
Other languages
English (en)
French (fr)
Inventor
誠太 大野
吉平 松田
裕規 ▲高▼山
Original Assignee
川崎重工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 川崎重工業株式会社 filed Critical 川崎重工業株式会社
Priority to JP2021542968A priority Critical patent/JP7261306B2/ja
Priority to CN202080060150.5A priority patent/CN114286739B/zh
Priority to EP20856025.0A priority patent/EP4023398A4/en
Priority to US17/638,221 priority patent/US20220292708A1/en
Publication of WO2021039850A1 publication Critical patent/WO2021039850A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/4182Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40554Object recognition to track object on conveyor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Definitions

  • the present disclosure relates to an information processing device, a setting device, an image recognition system, a robot system, a setting method, a learning device, and a method of generating a trained model.
  • Patent Document 1 discloses a device that measures a three-dimensional position and posture of a work using an image obtained by capturing an image of the work by a camera, and controls a robot arm tip and a robot hand using the measured information. doing.
  • Patent Document 1 may detect overlapping workpieces as one workpiece or may not detect them as workpieces. Therefore, it is necessary to modify or add the work in the detection result.
  • the present disclosure describes information processing devices, setting devices, image recognition systems, robot systems, setting methods, learning devices, and trained models that enable settings for recognizing objects such as workpieces included in images.
  • the purpose is to provide a generation method.
  • the information processing apparatus includes a position detection unit that detects an instruction position that is the position of the object indicated on the screen on which the object is projected, and the screen. Based on the attribute detection unit that detects the instruction attribute that is the attribute of the object specified above, the position information detection unit that detects the actual position of the object based on the instruction position, and the instruction attribute.
  • the information processing apparatus includes a position detection unit that detects an instruction position that is the position of the object indicated on the screen on which the object is projected, and the information processing device that is instructed on the screen.
  • a size detection unit that detects the indicated size, which is the size of the object, a position information detection unit that detects the actual position of the object based on the indicated position, and an actual object of the object based on the indicated size.
  • An index processing unit that generates a size information detection unit that detects the size, a position index that represents the indicated position, and a size index that represents the actual size of the object and displays it on the screen, and an actual object of the object. Includes an output unit that outputs object information including position and size information.
  • the information processing apparatus includes a position detection unit that detects an instruction position that is the position of the object indicated on the screen on which the object is projected, and the information processing device that is instructed on the screen.
  • a posture detection unit that detects an indicated posture, which is the posture of the object, a position information detection unit that detects the actual position of the object based on the indicated position, and an actual object of the object based on the indicated posture.
  • a posture information detection unit that detects a posture, an index processing unit that generates a position index representing the designated position and a posture index representing the designated posture and displays them on the screen, and a position and posture of the actual object. Includes an output unit that outputs object information including information.
  • the learning image according to one aspect of the present disclosure, the acquisition unit that acquires the position and attribute of the object included in the learning image, the learning image as input data, and the position and attribute of the object as teacher data.
  • a learning device including a learning unit that generates a trained model for estimating the position and attributes of an object from an image by machine learning.
  • a learning image and a position and an attribute of an object included in the learning image are acquired, the learning image is used as input data, and the position of the object is obtained. And attributes are used as teacher data, and a trained model for estimating the position and attributes of an object from an image is generated by machine learning.
  • the setting device includes an information processing device according to one aspect of the present disclosure, a display for displaying the screen, and an input device for receiving an input of the instruction and outputting the input to the information processing device.
  • the image recognition system includes a setting device according to one aspect of the present disclosure and an imaging device that images an actual object and outputs the captured image to the setting device.
  • the robot system includes an image recognition system according to one aspect of the present disclosure, a robot that performs processing work on the actual object, and a control device that controls the robot. Uses the object information output from the output unit of the information processing device to recognize the actual object and causes the robot to process the actual object.
  • the setting method is a method of setting the position and size of the object for recognizing the actual object displayed on the screen, and is a method of setting the position and size of the object indicated on the screen.
  • the indicated position which is the position
  • the indicated size which is the size of the object indicated on the screen
  • the actual position of the object is detected based on the indicated position, and the indicated size is used.
  • the actual size of the object is detected, a position index indicating the indicated position and a size index indicating the size of the actual object are generated and displayed on the screen, and the actual position of the object is displayed.
  • output object information including size information.
  • the setting method is a method of setting the position and posture of the object for recognizing the actual object displayed on the screen, and the object instructed on the screen.
  • the designated position which is the position of the object is detected
  • the designated posture which is the posture of the object indicated on the screen is detected
  • the actual position of the object is detected based on the designated position, and the instruction is given.
  • the actual posture of the object is detected, a position index indicating the indicated position and a posture index indicating the indicated posture are generated and displayed on the screen, and the actual position and attitude of the object are displayed.
  • Outputs object information including the information of.
  • FIG. 1 is a plan view showing an example of the configuration of the robot system according to the embodiment.
  • FIG. 2 is a block diagram showing an example of the configuration of the robot system according to the embodiment.
  • FIG. 3 is a side view showing an example of the configuration of the robot according to the embodiment.
  • FIG. 4 is a block diagram showing an example of the hardware configuration of the information processing apparatus according to the embodiment.
  • FIG. 5 is a block diagram showing an example of the hardware configuration of the robot control device according to the embodiment.
  • FIG. 6 is a block diagram showing an example of the functional configuration of the information processing apparatus according to the embodiment.
  • FIG. 7 is a diagram showing an example of an image processed by the information processing apparatus according to the embodiment.
  • FIG. 8 is a diagram showing an example of a screen of the first superimposed image of the bottle index generated by the information processing apparatus according to the embodiment.
  • FIG. 9 is a diagram showing an example of a screen of a second superimposed image of the bottle index generated by the information processing apparatus according to the embodiment.
  • FIG. 10 is a diagram showing an example of a screen of a first superimposed image displaying a bottle index modified by the information processing apparatus according to the embodiment.
  • FIG. 11 is a diagram showing an example of a screen of the first superimposed image displaying the bottle index after modification by the information processing apparatus according to the embodiment.
  • FIG. 12 is a diagram showing an example of a screen of a first superimposed image displaying a bottle index deleted by the information processing apparatus according to the embodiment.
  • FIG. 13 is a diagram showing an example of a screen of the first superimposed image after the bottle index is deleted by the information processing apparatus according to the embodiment.
  • FIG. 14 is a diagram showing an example of a screen of a first superimposed image displaying a state in which a bottle index is added by the information processing apparatus according to the embodiment.
  • FIG. 15 is a diagram showing an example of a screen of a first superimposed image displaying a state in which a bottle index is added by the information processing apparatus according to the embodiment.
  • FIG. 16 is a diagram showing an example of a screen of the first superimposed image after the addition of the bottle index by the information processing apparatus according to the embodiment.
  • FIG. 17 is a diagram showing an example of a screen for setting the function of the information processing apparatus according to the embodiment.
  • FIG. 18 is a flowchart showing an example of the operation of the robot system according to the embodiment.
  • FIG. 19 is a block diagram showing a functional configuration example of the learning device according to the modified example.
  • FIG. 20 is a diagram showing an example of the contents of the learning database.
  • FIG. 21 is a diagram showing an example of a procedure for generating a trained model.
  • FIG. 22 is a diagram for explaining the generation process of the trained model.
  • FIG. 23 is a diagram showing an example of a procedure for identification processing using the trained model.
  • FIG. 24 is a diagram for explaining the identification process using the trained model.
  • FIG. 25 is a diagram showing an example of the contents of the modified storage database.
  • FIG. 1 is a plan view showing an example of the configuration of the robot system 1 according to the embodiment.
  • FIG. 2 is a block diagram showing an example of the configuration of the robot system 1 according to the embodiment.
  • the robot system 1 will be described as a system in which the robot 100 sorts a plurality of objects W randomly placed on the belt conveyor 200.
  • the object W is not particularly limited, but in the present embodiment, it is a waste, and specifically, an empty bottle (hereinafter, also referred to as “bottle W”).
  • the robot system 1 is not limited to a system that separates the object W, and may be, for example, a system that performs operations such as picking, arranging, or processing the object W. That is, the robot system 1 may be a system that performs work that involves specifying the position where the object W exists or the position where the object W is arranged.
  • the robot system 1 includes at least one robot 100, a belt conveyor 200, an information processing device 300, an input / output device 400, an image pickup device 500, and a robot control device 600.
  • the information processing device 300 and the input / output device 400 constitute a setting device 10.
  • the information processing device 300, the input / output device 400, and the image pickup device 500 constitute an image recognition system 20.
  • the belt conveyor 200 moves its transport surface 221 in the direction D and transports the bottle W on the transport surface 221 in the direction D.
  • the belt conveyor 200 includes a plurality of rollers 210 arranged in the direction D, an endless ring-shaped conveyor belt 220 spanned by the plurality of rollers 210, and a conveyor motor 230 which is an electric motor for rotationally driving the rollers 210.
  • the transport surface 221 is an outer peripheral surface facing upward of the transport belt 220.
  • Robots 100A and 100B are arranged on both sides on the downstream side in the direction D with respect to the belt conveyor 200.
  • Robots 100A and 100B are industrial robots. In the following, when the two robots are distinguished, they may be described as “robot 100A” and “robot 100B", and when they are not distinguished, they may be described as “robot 100”.
  • the robot 100A divides the transparent bottle (hereinafter, also referred to as “transparent bottle”) in the bottle W on the belt conveyor 200 into two categories of transparent bottles WTL and WTS according to the size. Sorted out, that is, separated, and put into the collection boxes 701L and 701S.
  • the transparent bottle WTL is a bottle of a larger size category (hereinafter, also referred to as "large size category”) and is put into the collection box 701L
  • the transparent bottle WTS is a smaller size category (hereinafter, also referred to as "small size category”). It is a bottle (notation) and is put into the collection box 701S.
  • the robot 100B displays colored bottles such as brown in the bottle W on the belt conveyor 200 (hereinafter, also referred to as “colored bottles”) in large size classification and small size classification.
  • the bottles are sorted into WCL and WCS, taken out, that is, separated, and put into the collection boxes 702L and 702S.
  • the colored bottle WCL is put into the collection box 702L
  • the colored bottle WCS is put into the collection box 702S.
  • FIG. 3 is a side view showing an example of the configuration of the robot 100 according to the embodiment.
  • the robots 100A and 100B that is, the robot 100 is a dual-arm robot including a base 110 and two arms 120 and 130 arranged on the base 110.
  • the robot 100 is a coaxial dual-arm robot in which the arms 120 and 130 are rotatable in a horizontal plane on the same axis centered on the first axis S1 in the vertical direction.
  • the arms 120 and 130 form a horizontal articulated robot arm.
  • the robot 100 includes end effectors 150 and 160 for holding the bottle W at the tips of the arms 120 and 130, respectively.
  • the end effectors 150 and 160 need only be able to hold and transport the bottle W, and in the present embodiment, the bottle W is adsorbed by a negative pressure.
  • the configuration in which the end effectors 150 and 160 hold the object is not limited to the configuration using adsorption, and may be a configuration using gripping, scooping, lifting, engagement, adhesive force, magnetic force, and the like.
  • the arm 120 includes links 121 to 124 and arm drive devices MA1 to MA4 (see FIG. 2).
  • the arm 130 includes links 131 to 134 and arm drive devices MB1 to MB4 (see FIG. 2).
  • the arm drive devices MA1 to MA4 and MB1 to MB4 include an electric motor and the like, and in the present embodiment, include a servomotor.
  • the drive of the arm drive devices MA1 to MA4 and MB1 to MB4 is controlled by the robot control device 600.
  • the first links 121 and 131 are connected to the base 110 via the rotary joints JTA1 and JTB1 so as to be rotatable independently of each other in the horizontal plane about the first axis S1, respectively.
  • the first links 121 and 131 are arranged so as to be offset in the direction of the first axis S1 so as to suppress mutual interference during rotation.
  • the second links 122 and 132 are rotatably connected in a horizontal plane around the vertical second axes S2a and S2b, respectively, and are connected to the tips of the first links 121 and 131 via the rotary joints JTA2 and JTB2.
  • the third links 123 and 133 are connected to the tips of the second links 122 and 132 via the linear motion joints JTA3 and JTB3 so as to be able to move up and down along the third axes S3a and S3b in the vertical direction, respectively.
  • the fourth links 124 and 134 are rotatable about the fourth axes S4a and S4b in the longitudinal direction of the third links 123 and 133, respectively, with the lower ends of the third links 123 and 133 via the rotary joints JTA4 and JTB4. Be connected.
  • the fourth axes S4a and S4b are also vertical axes.
  • the fourth links 124 and 134 constitute a mechanical interface for connecting to the end effectors 150 and 160, respectively.
  • the arm drive devices MA1 to MA4 drive the joints JTA1 to JTA4, respectively, and rotate or move the links 121 to 124 up and down.
  • the arm drive devices MB1 to MB4 drive the joints JTB1 to JTB4, respectively, and rotate or move the links 131 to 134 up and down.
  • the end effectors 150 and 160 include a support 171 and a plurality of suction nozzles 170 arranged in a rectangular shape on the support 171.
  • the end effectors 150 and 160 may have similar configurations, and may have different configurations depending on, for example, the number and arrangement of suction nozzles 170.
  • the plurality of suction nozzles 170 have a hollow tubular shape and are connected to the negative pressure generator 180 (see FIG. 2) via a pipe.
  • the plurality of suction nozzles 170 suck the object at the tip thereof by the negative pressure generated by the negative pressure generator 180.
  • the configuration of the negative pressure generator 180 is not particularly limited as long as the suction nozzle 170 can generate a negative pressure, and any existing configuration may be used.
  • the negative pressure generator 180 may have a configuration of a vacuum pump or a pneumatic cylinder that generates negative pressure or vacuum by sucking air, and generates negative pressure or vacuum by feeding compressed air. It may have a structure of an ejector. The operation of the negative pressure generator 180 is controlled by the robot control device 600.
  • Robots 100A and 100B use the arm 120 and the end effector 150 to convey the large size bottle WTL or WCL, respectively, and use the arm 130 and the end effector 160 to convey the small size bottle WTS or WCS. ..
  • the information processing device 300 is connected to the input / output devices 400A and 400B, the image pickup device 500, and the robot control device 600 via wired communication or wireless communication.
  • the two input / output devices when they are distinguished, they may be referred to as “input / output device 400A” and “input / output device 400B”, and when they are not distinguished, they may be referred to as “input / output device 400”.
  • the robot control device 600 includes arm drive devices MA1 to MA4 and MB1 to MB4 of robots 100A and 100B, a negative pressure generator 180, a conveyor motor 230 of a belt conveyor 200, an information processing device 300, and wired communication or wireless communication. Connected via.
  • the types of wired communication and wireless communication are not particularly limited.
  • wired communication and wireless communication may include a wired or wireless LAN (Local Area Network).
  • the robot control device 600 controls the operations of the arm drive devices MA1 to MA4 and MB1 to MB4, the negative pressure generator 180, and the conveyor motor 230.
  • the robot control device 600 receives information on each bottle W on the belt conveyor 200 from the information processing device 300.
  • the information on the bottle W includes the color classification, position, size, orientation, etc. of the bottle W, whether it is colored or transparent.
  • the robot control device 600 recognizes the bottle based on the information of each bottle W, operates the arms 120 and 130 of the robots 100A and 100B, and the suction nozzle 170 of the end effectors 150 and 160, and separates each bottle W.
  • the recognition of a bottle is to identify the presence, color, position, orientation, size, etc. of the bottle.
  • the robot control device 600 can operate the robots 100A and 100B, the negative pressure generator 180, the belt conveyor 200, and the like in cooperation, cooperation, and / or cooperation with each other.
  • the image pickup device 500 is arranged above the belt conveyor 200 on the upstream side in the direction D with respect to the robots 100A and 100B, and images the lower transport surface 221.
  • the image pickup device 500 outputs the captured image to the information processing device 300.
  • the image pickup device 500 takes an image under the control of the information processing device 300, but may take an image under the control of the robot control device 600.
  • the image pickup apparatus 500 is a camera that captures a digital image, and is a camera that enables detection of a three-dimensional position such as a distance to a subject in the image.
  • the image pickup apparatus 500 is a stereo camera.
  • the image pickup apparatus 500 is a stereo camera.
  • the positional relationship between the position and imaging direction of the imaging device 500 and the imaging target portion of the transport surface 221 is fixed and known, even if the imaging device 500 is a simple camera, the image is captured. It is possible to detect the three-dimensional position of the subject.
  • the input / output devices 400A and 400B each include a display and an input device, and in the present embodiment, the input / output devices 400A and 400B include a touch screen 410 including a display function and an input device function.
  • Examples of displays are, but are not limited to, a liquid crystal display and an organic or inorganic EL display (Electro-Luminescence Display).
  • the input / output devices 400A and 400B may be a display device including a touch screen 410, a smart device such as a smartphone and a tablet, and the like.
  • the input / output devices 400A and 400B are arranged corresponding to the robots 100A and 100B.
  • the input / output devices 400A and 400B can superimpose and display the image captured by the image pickup device 500 and the bottle index generated by the information processing device 300 on the screen of the touch screen 410.
  • the bottle index is an index representing information on the bottle W, which is an object, and is an object index.
  • the input / output devices 400A and 400B acquire the contact position (also referred to as “tap position”) of the user's finger or pen or the like on the touch screen 410 and the contact locus as input information, and output the contact locus to the information processing device 300.
  • the information processing device 300 is a device that processes and outputs various information. For example, the information processing device 300 processes the image captured by the image pickup device 500 and outputs the image to the input / output devices 400A and 400B for display. The information processing device 300 outputs a processed image of an image at an imaging time at a predetermined time interval to the input / output device 400A so that an operator P who is a user can perform processing by viewing the screens of the input / output devices 400A and 400B. And output to 400B.
  • the information processing device 300 extracts the bottle image WI, which is an image of the bottle W projected on the image, by performing image processing on the image captured by the image pickup device 500, and further, the actual bottle W.
  • the information of the bottle W including the position, size, posture, color classification, etc. is detected.
  • the information on the bottle W is an example of the object information.
  • the information on the position of the actual bottle W may be any information that can specify the position of the bottle W.
  • the position of the bottle W may be the position of any part of the bottle W and may be represented by either a three-dimensional position or a two-dimensional position.
  • the three-dimensional position of the bottle W may be represented by three-dimensional coordinates set in the space or the like where the robot system 1 exists.
  • the two-dimensional position of the bottle W may be represented by two-dimensional coordinates with reference to the transport surface 221 of the belt conveyor 200 and the like.
  • the position of the actual bottle W is a three-dimensional position of a specific point of the bottle W such as the center of gravity.
  • the information on the posture of the actual bottle W may be any information that can identify the posture of the bottle W.
  • the posture of the bottle W may be a posture based on any part of the bottle W, and may be represented by either a three-dimensional posture or a two-dimensional posture.
  • the three-dimensional posture of the bottle W may be represented by the same three-dimensional coordinates as the three-dimensional position of the bottle W
  • the two-dimensional posture of the bottle W is the same two-dimensional as the two-dimensional position of the bottle W. It may be represented by coordinates.
  • the posture of the bottle W is the orientation of the bottle W, specifically, the orientation in the longitudinal direction connecting the bottom and the inlet of the bottle W.
  • the information on the size of the actual bottle W may be any information that can specify the degree of the size of the bottle W.
  • the size of the bottle W may be the size of any part of the bottle W and may be represented by either a three-dimensional size or a two-dimensional size.
  • the size may be, for example, a dimensional value, a dimensional value converted value, a dimensional range, a dimensional range converted value, a class, or the like.
  • the class is a class divided by the dimensional range, and the size classification is an example of the class.
  • the three-dimensional size of the bottle W may be the size in the three-dimensional coordinate system similar to the three-dimensional position of the bottle W, and the two-dimensional size of the bottle W is the two-dimensional position of the bottle W. It may be the size in the same two-dimensional coordinate system.
  • the size of the bottle W is a size classification, and specifically, the size classification is about the length in the longitudinal direction connecting the bottom and the inlet of the bottle W.
  • the information processing device 300 outputs the information of the bottle W to the robot control device 600. Further, the information processing device 300 generates a bottle index for expressing the position, size, and orientation of the actual bottle W on the touch screen 410, and outputs the image data of the bottle index to the input / output devices 400A and 400B. The information processing device 300 outputs the image data of the bottle index of the transparent bottle WTL and WTS to the input / output device 400A, and outputs the image data of the bottle index of the colored bottle WCL and WCS to the input / output device 400B.
  • the information processing device 300 receives the information input to the touch screen 410 from the input / output devices 400A and 400B, and processes the information.
  • the input / output devices 400A and 400B can receive an input for generating a new bottle index by the operation of the operator P and displaying it on the touch screen 410.
  • the input / output devices 400A and 400B can accept an input for modifying or deleting the bottle index of the bottle W displayed on the touch screen 410 by the operation of the operator P.
  • the information processing device 300 When the information processing device 300 receives the input information for generating the new bottle index from the input / output device 400A or 400B, the information processing device 300 generates the image data of the new bottle index according to the input information and outputs it to the input / output device 400A or 400B. Further, the information processing device 300 detects the information of the bottle W including the position, size, posture, color classification, etc. of the actual bottle W corresponding to the new bottle index, and outputs the information to the robot control device 600.
  • the information processing device 300 When the information processing device 300 receives input information for correcting or deleting the bottle index from the input / output device 400A or 400B, the information processing device 300 generates image data of the bottle index corrected or deleted according to the input information and generates the image data of the bottle index corrected or deleted according to the input information. Output to 400B. Further, the information processing device 300 detects the information of the actual bottle W corresponding to the modified or deleted bottle index and outputs the information to the robot control device 600.
  • the information processing device 300 is a computer device separate from the input / output device 400 and the robot control device 600.
  • the information processing device 300 may be an electronic control unit (ECU: Electronic Control Unit), a personal computer, or the like.
  • ECU Electronic Control Unit
  • the information processing device 300 may be incorporated and integrated in the input / output device 400 or the robot control device 600.
  • FIG. 4 is a block diagram showing an example of the hardware configuration of the information processing apparatus 300 according to the embodiment.
  • the information processing device 300 includes a CPU (Central Processing Unit) 301, a ROM (Read Only Memory) 302, a RAM (Random Access Memory) 303, a memory 304, and an image pickup element I / F ( Interface: Interface) 305, image processor 306, and input / output I / F 307 to 309 are included as components.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • I / F Interface: Interface
  • image processor 306 input / output I / F 307 to 309
  • input / output I / F 307 to 309 are included as components.
  • Each of the above components is connected via bus, wired or wireless communication. Not all of the above components are essential.
  • the CPU 301 is a processor and controls the entire operation of the information processing device 300.
  • the ROM 302 is composed of a non-volatile semiconductor memory or the like, and stores a program, data, or the like for causing the CPU 301 to control the operation.
  • the RAM 303 is composed of a volatile semiconductor memory or the like, and temporarily stores a program executed by the CPU 301 and data in the middle of processing or processed.
  • the memory 304 is composed of a semiconductor memory such as a volatile memory and a non-volatile memory, and a storage device such as a hard disk (HDD: Hard Disc Drive) and an SSD (Solid State Drive).
  • the program for operating the CPU 301 is stored in the ROM 302 or the memory 304 in advance.
  • the CPU 301 reads a program from the ROM 302 or the memory 304 into the RAM 303 and develops the program.
  • the CPU 301 executes each coded instruction in the program expanded in the RAM 303.
  • Each function of the information processing apparatus 300 may be realized by a computer system including a CPU 301, a ROM 302, a RAM 303, or the like, or may be realized by a dedicated hardware circuit such as an electronic circuit or an integrated circuit, and the computer system and hardware may be realized. It may be realized by a combination of hardware circuits.
  • Such an information processing device 300 is composed of, for example, a microcontroller, an MPU (Micro Processing Unit), an LSI (Large Scale Integration: large-scale integrated circuit), a system LSI, a PLC (Programmable Logic Controller), a logic circuit, or the like. May be good.
  • the plurality of functions of the information processing apparatus 300 may be realized by being individually integrated into one chip, or may be realized by being integrated into one chip so as to include a part or all of them. Further, each circuit may be a general-purpose circuit or a dedicated circuit.
  • an FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and / or setting of circuit cells inside the LSI, or multiple functions for a specific application.
  • An ASIC Application Specific Integrated Circuit
  • ASIC Application Specific Integrated Circuit
  • the image sensor I / F 305 controls the drive of the image sensor (not shown) of the image sensor 500 according to the command of the CPU 301.
  • the image sensor I / F 305 takes in the data of the image captured by the image pickup device 500 into the RAM 303 or the memory 304.
  • the image pickup device I / F 305 may include a circuit or the like for driving the image pickup device.
  • the image processor 306 includes a GPU (Graphics Processing Unit) capable of generating a screen to be displayed on the input / output devices 400A and 400B.
  • the image processor 306 generates screen data according to a command from the CPU 301 and outputs the screen data to the input / output devices 400A and 400B.
  • the image processor 306 indicates image data generated by processing the image data captured by the image pickup device 500, information generated in response to the information input to the input / output devices 400A and 400B, and the like. Generate screen data.
  • the first input / output I / F 307 is connected to the image processor 306 and the input / output device 400A, and inputs / outputs screen data, information, commands, etc. to the input / output device 400A.
  • the second input / output I / F 308 is connected to the image processor 306 and the input / output device 400B, and inputs / outputs screen data, information, commands, etc. to the input / output device 400B.
  • the third input / output I / F 309 is connected to the robot control device 600, and inputs / outputs information, commands, and the like to the robot control device 600.
  • the input / output I / F 307 to 309 may include a circuit for converting a signal or the like.
  • FIG. 5 is a block diagram showing an example of the hardware configuration of the robot control device 600 according to the embodiment.
  • the robot control device 600 includes a CPU 601, a ROM 602, a RAM 603, a memory 604, an input / output I / F 605, an arm drive circuit 606, a conveyor drive circuit 607, and a negative pressure drive circuit 608.
  • the open / close drive circuit 609 are included as components.
  • Each of the above components is connected via bus, wired or wireless communication. Not all of the above components are essential.
  • one robot control device 600 is provided for the robots 100A and 100B, but the robot control device 600 may be individually provided for the robots 100A and 100B.
  • the configurations and functions of the CPU 601, ROM 602, RAM 603, and memory 604 are the same as those of the CPU 301, ROM 302, RAM 303, and memory 304 of the information processing apparatus 300.
  • the CPU 601 controls the entire processing and operation of the robot control device 600.
  • Each function of the robot control device 600 may be realized by a computer system including CPU601, ROM602, RAM603, etc., or may be realized by a dedicated hardware circuit such as an electronic circuit or an integrated circuit, and the computer system and hardware may be realized. It may be realized by a combination of hardware circuits.
  • the input / output I / F 605 is connected to the information processing device 300 and inputs / outputs information, commands, etc. to the information processing device 300.
  • the input / output I / F 605 may include a circuit for converting a signal or the like.
  • the arm drive circuit 606 supplies electric power to the servomotors of the arm drive devices MA1 to MA4 and MB1 to MB4 of the robots 100A and 100B in accordance with the command of the CPU 601 to control the drive of each servomotor.
  • the conveyor drive circuit 607 supplies electric power to the conveyor motor 230 of the belt conveyor 200 and controls the drive of the conveyor motor 230 in accordance with the command of the CPU 601.
  • the negative pressure drive circuit 608 supplies electric power to the negative pressure generator 180 and controls the drive of the negative pressure generator 180 according to the command of the CPU 601.
  • the switchgear drive circuit 609 controls the drive of the switchgear 181 to 184 according to the command of the CPU 601.
  • the switchgear 181 and 182 conduct or cut off the piping systems 181a and 182a, respectively.
  • the piping systems 181a and 182a connect the suction nozzles 170 and the negative pressure generator 180 of the end effectors 150 and 160 of the robot 100A, respectively.
  • the switchgear 183 and 184 conduct or cut off the piping systems 183a and 184a, respectively.
  • the piping systems 183a and 184a connect the suction nozzles 170 and the negative pressure generator 180 of the end effectors 150 and 160 of the robot 100B, respectively.
  • An example of the switchgear 181 to 184 is a switchgear composed of a solenoid valve or the like.
  • FIG. 6 is a block diagram showing an example of the functional configuration of the information processing apparatus 300 according to the embodiment.
  • the information processing apparatus 300 is converted into an image pickup control unit 3001, an image processing unit 3002, an index processing unit 3003 and 3004, an image synthesis unit 3005 and 3006, and an input analysis unit 3007 and 3008.
  • the units 3009 and 3010, the function setting unit 3011, and the storage unit 3012 are included as functional components. Not all of the above functional components are required.
  • the functions of the functional components other than the storage unit 3012 are realized by the CPU 301 and the like, and the functions of the storage unit 3012 are realized by the memory 304, the ROM 302 and / RAM 303.
  • the storage unit 3012 stores various information and enables reading of the stored information.
  • the storage unit 3012 stores the camera parameters of the image pickup apparatus 500, information on the target bottle that can be processed by the robot 100, the color threshold of the bottle color classification, the size threshold of the bottle size classification, and the like.
  • the bottle information may include information such as the color of the bottle that can be processed, the surface texture, the contour shape and the longitudinal direction of the contour shape.
  • the storage unit 3012 may store an image captured by the image pickup apparatus 500, a processed image of the image, and / or a program or the like.
  • Camera parameters include external parameters and internal parameters.
  • An example of an external parameter is a parameter indicating the position (three-dimensional position) and orientation (direction of the center of the optical axis) of the image pickup apparatus 500.
  • Examples of internal parameters are parameters indicating distortion of the lens of the image pickup device 500, focal length, size of one pixel of the image pickup device, pixel coordinates of the center of the optical axis, and the like.
  • Pixel coordinates are coordinates in units of pixels, and are two-dimensional coordinates on an image.
  • the contour shape of the bottle is the contour shape on the projection surface when the bottle is projected from various directions.
  • the longitudinal direction of the contour shape of the bottle corresponds to the longitudinal direction through the mouth and bottom of the bottle and indicates the orientation of the bottle.
  • the contour shape of the bottle and its longitudinal direction are stored as a template.
  • the color threshold value may be a threshold value based on the brightness value of the pixel.
  • the bottle may be classified as transparent or colored depending on whether the brightness value of the pixel representing the bottle is equal to or more than the color threshold value or less than the color threshold value.
  • the color classification is not limited to two, and may be three or more.
  • the size threshold includes an actual size threshold for determining the actual size of the bottle and an image size threshold for determining the size of the bottle on the image.
  • the size threshold may be a threshold in the longitudinal length of the bottle. For example, depending on whether the length of the bottle in the longitudinal direction is greater than or equal to the size threshold value or less than the size threshold value, the bottle may be classified into a large size category or a small size category.
  • the size classification is not limited to two, and may be three or more.
  • the image pickup control unit 3001 controls the operation of the image pickup device 500.
  • the image pickup control unit 3001 causes the image pickup device 500 to take an image of the transport surface 221 of the belt conveyor 200 at predetermined time intervals.
  • the image pickup control unit 3001 outputs the two images captured at the same time by the image pickup device 500, which is a stereo camera, to the storage unit 3012 or the like in association with each other.
  • the image processing unit 3002 is an example of the first to third image processing units.
  • the image processing unit 3002 identifies the bottle image projected on each of the two images using the two images captured at the same time by the image pickup apparatus 500, and the three-dimensional position, size, and orientation of the bottle of the bottle image. Is detected.
  • the image processing unit 3002 extracts edges in each of the two images, and compares the extracted edges with the template of the contour shape of the bottle in the storage unit 3012 by a pattern matching method or the like to obtain the edges of the bottle. To detect. Further, the image processing unit 3002 detects the color represented by the bottle image surrounded by the edge of the bottle in at least one of the two images, and colors the bottle image with the transparent bottle image based on the color classification in the storage unit 3012. Classify as a bottle image.
  • the image processing unit 3002 detects the two-dimensional center of gravity position, the longitudinal direction, and the length in the longitudinal direction of each of the two images as the two-dimensional center of gravity position, posture, and size.
  • the longitudinal direction of the bottle image may be from the bottom of the bottle image toward the entrance.
  • the image processing unit 3002 may use the longitudinal direction of the contour shape indicated by the template corresponding to the bottle image as the longitudinal direction of the bottle image.
  • the image processing unit 3002 processes two images by a stereo matching method or the like using the camera parameters in the storage unit 3012.
  • the image processing unit 3002 determines the three-dimensional center of gravity position, the longitudinal direction, and the length in the longitudinal direction of the bottle corresponding to each bottle image, that is, the actual bottle, in the three-dimensional section in which the robot system 1 exists. It is detected as a three-dimensional center of gravity position, orientation and size.
  • the three-dimensional center of gravity position, orientation and size of the bottle may be detected by image processing the pixels representing the two-dimensional center of gravity position, orientation and size of the bottle image.
  • the image processing unit 3002 For each transparent bottle image in at least one of the two images, the image processing unit 3002 has an ID which is identification information set in the transparent bottle image, a color classification of the transparent bottle image, and two dimensions of the transparent bottle image. The pixel coordinates indicating the position and orientation of the center of gravity of the transparent bottle and the three-dimensional position, orientation and size of the three-dimensional center of gravity of the transparent bottle corresponding to the transparent bottle image are associated and output to the first index processing unit 3003. For each colored bottle image in at least one of the two images, the image processing unit 3002 has an ID which is identification information set in the colored bottle image, a color classification of the colored bottle image, and two dimensions of the colored bottle image. The pixel coordinates indicating the position and orientation of the center of gravity of the above are associated with the three-dimensional position, orientation and size of the center of gravity of the colored bottle corresponding to the colored bottle image and output to the second index processing unit 3004.
  • the image processing unit 3002 uses one of the two images extracted from the edges of the bottle image to generate an image in which the edges of the bottle image are emphasized.
  • the image processing unit 3002 uses an image in which the two-dimensional center of gravity position and the longitudinal direction of the bottle image output to the index processing units 3003 and 3004 are detected.
  • the image processing unit 3002 generates a first image in which only the edges of the transparent bottle image are emphasized and a second image in which only the edges of the colored bottle image are emphasized from one image.
  • the image processing unit 3002 When the image contains only a transparent bottle image, the image processing unit 3002 generates a second image without emphasizing the edges.
  • the image processing unit 3002 When the image contains only colored bottles, the image processing unit 3002 generates the first image without emphasizing the edges.
  • the image processing unit 3002 outputs the first image to the first image composition unit 3005 and outputs the second image to the second image composition unit 3006.
  • the image processing unit 3002 emphasizes the edge by thickening the edge.
  • the method for enhancing the edge is not particularly limited, and any method such as making the edge a prominent color, making the edge shine, or blinking the edge may be used.
  • FIG. 7 is a diagram showing an example of an image processed by the information processing apparatus 300 according to the embodiment.
  • the captured image I1 includes the transparent bottle image WTI and the colored bottle image WCI
  • only the edge of the transparent bottle image WTI is emphasized in the first image I1A and colored in the second image I1B. Only the edges of the bottle image WCI are emphasized.
  • the first index processing unit 3003 uses the two-dimensional position and orientation of the center of gravity of the transparent bottle image and the three-dimensional size of the transparent bottle corresponding to the transparent bottle image to display information on the transparent bottle on the first image. Generate a bottle index to represent with.
  • the first index processing unit 3003 classifies the three-dimensional size of the transparent bottle into large and small size categories based on the actual size threshold value in the storage unit 3012.
  • the first index processing unit 3003 generates image data of a bottle index including a position index, a posture index, and a size index.
  • the position index represents the two-dimensional center of gravity position of the transparent bottle
  • the posture index represents the two-dimensional longitudinal direction of the transparent bottle
  • the size index represents the size classification of the transparent bottle.
  • FIG. 8 is a diagram showing an example of a screen of the first superimposed image of the bottle index generated by the information processing apparatus 300 according to the embodiment.
  • the position index of the bottle index TBI generated by the first index processing unit 3003 is represented by a circle centered on the position of the center of gravity of the bottle image.
  • the posture index is represented by the direction of the arrow extending from the center of the circle of the position index.
  • the size index is represented by the difference in the display method of the bottle index TBI. For example, if the bottle belongs to the large size category, the bottle index TBI is displayed as a dashed line, and if the bottle belongs to the small size category, the bottle index TBI is displayed as a broken line.
  • the difference in the display method of the bottle index is a line.
  • the difference is not limited to the species, and may be a difference using color, brightness, blinking, or the like.
  • the size index may be represented by the difference in the length of the arrow of the posture index.
  • the first index processing unit 3003 outputs the ID of the transparent bottle image and the image data of the bottle index of the transparent bottle corresponding to the transparent bottle image to the first image synthesis unit 3005 in association with each other.
  • the image data of the bottle index includes an image of the bottle index and information on the position, posture, and size of the bottle index on the first image or the second image. Further, the first index processing unit 3003 performs robot control by associating the ID of the transparent bottle image with the three-dimensional center of gravity position of the transparent bottle corresponding to the bottle index, the three-dimensional posture, the size classification, and the color classification. Output to device 600.
  • the second index processing unit 3004 uses the two-dimensional center of gravity position and orientation of the colored bottle image and the three-dimensional size of the colored bottle corresponding to the colored bottle image.
  • a bottle index for expressing the information of the colored bottle on the second image is generated.
  • the second index processing unit 3004 outputs the ID of the colored bottle image and the image data of the bottle index of the colored bottle corresponding to the colored bottle image to the second image synthesis unit 3006 in association with each other. Further, the second index processing unit 3004 links the ID of the colored bottle image with the three-dimensional center of gravity position of the colored bottle corresponding to the bottle index, the three-dimensional posture, the size classification, and the color classification to control the robot. Output to device 600.
  • the index processing units 3003 and 3004 perform a process of modifying and deleting the bottle index displayed on the touch screen 410 and a process of adding the bottle index based on the input information to the input / output devices 400A and 400B, respectively. The process is the same as described above.
  • the first image synthesizing unit 3005 synthesizes the first image and the image of the bottle index of the transparent bottle by using the first image and the image data of the bottle index of the transparent bottle.
  • the first image synthesizing unit 3005 superimposes and displays the image of the bottle index on the first image according to the position, posture, and size information of the bottle index included in the image data.
  • the first image synthesizing unit 3005 generates the first superimposed image I1Aa as shown in FIG. 8, outputs the first superimposed image I1Aa to the input / output device 400A, and displays it on the touch screen 410.
  • the bottle index is superimposed and displayed on the bottle image corresponding to the bottle index.
  • the second image synthesis unit 3006 uses the second image, the image data of the bottle index of the colored bottle, and the position, orientation, and size information of the bottle index on the image. Then, an image is generated in which the bottle index of the colored bottle is superimposed and displayed on the second image. For example, the second image synthesizing unit 3006 generates the second superimposed image I1Ba as shown in FIG. 9, outputs it to the input / output device 400B, and displays it on the touch screen 410.
  • FIG. 9 is a diagram showing an example of a screen of a second superimposed image of the bottle index generated by the information processing apparatus 300 according to the embodiment.
  • the input analysis units 3007 and 3008 shown in FIG. 6 are examples of a position detection unit, a size detection unit, and a posture detection unit.
  • the first input analysis unit 3007 receives and analyzes the input information input to the touch screen 410 of the input / output device 400A.
  • the second input analysis unit 3008 receives and analyzes the input information input to the touch screen 410 of the input / output device 400B.
  • the input analysis units 3007 and 3008 detect the correction command and the deletion command for the bottle index being displayed, the addition command of the bottle index, and the contents of each command by analyzing the input information.
  • the first input analysis unit 3007 outputs the detection result to the first index processing unit 3003 and the first conversion unit 3009.
  • the second input analysis unit 3008 outputs the detection result to the second index processing unit 3004 and the second conversion unit 3010.
  • the input analysis units 3007 and 3008 detect a correction command for the position of the circle, which is a position index of the bottle index, on the touch screen 410, they detect the correction position of the circle indicated on the screen, and the circle at the correction position. Detects the pixel coordinates of the center of
  • the input analysis units 3007 and 3008 detect a correction command for the direction of the arrow, which is an attitude index, on the touch screen 410, they detect the correction direction of the arrow indicated on the screen and determine the direction of the arrow in the correction direction.
  • the indicated pixel coordinates, for example, the vector component of the arrow are detected as the indicated posture.
  • the instruction posture may indicate a direction corresponding to the trajectory formed by the instruction given on the screen.
  • the input analysis units 3007 and 3008 detect the correction command of the size index on the touch screen 410, they detect the indicated size indicated on the screen and classify the size corresponding to the indicated size (hereinafter, also referred to as "instructed size category"). Notation) is detected.
  • the indicated size may be a size corresponding to a trajectory formed by an instruction given on the screen.
  • the input analysis units 3007 and 3008 determine the indicated size classification based on the comparison result between the indicated size and the image size threshold value.
  • the input analysis units 3007 and 3008 determine the indicated size category as the large size category when the indicated size is equal to or larger than the image size threshold value, and determine the indicated size category as the small size category when the indicated size is less than the image size threshold value.
  • the first input analysis unit 3007 associates the ID of the bottle index with the set of the designated position, the designated posture, and the designated size classification for the bottle index, and outputs the ID to the first index processing unit 3003 and the first conversion unit 3009. .
  • the ID of the bottle index is the ID of the bottle image corresponding to the bottle index.
  • the second input analysis unit 3008 also associates the ID of the bottle index with the set of the designated position, the designated posture, and the designated size classification for the bottle index, and causes the second index processing unit 3004 and the second conversion unit 3010. Output.
  • the index processing units 3003 and 3004 correct the bottle index by modifying the position index, the posture index, and the size index based on the above information received from the input analysis units 3007 and 3008, respectively, and the corrected bottle index. ID and image data are output to the image synthesizing units 3005 and 3006, and the bottle index before modification is replaced with the bottle index after modification and displayed on the touch screen 410.
  • FIG. 10 is a diagram showing an example of a screen of a first superimposed image displaying a bottle index modified by the information processing apparatus 300 according to the embodiment.
  • FIG. 11 is a diagram showing an example of a screen of the first superimposed image displaying the bottle index corrected by the information processing apparatus 300 according to the embodiment.
  • the circumference of the circle TBIa1 of the bottle index TBIa is selected by tapping the operator's finger or the like. Then, by sliding the tap position, the circle TBIa1 is moved in the slide direction of the tap position and the direction and the movement amount corresponding to the slide amount.
  • the first input analysis unit 3007 detects the tap on the circumference of the circle TBIa1 as a correction command of the position index, and the pixel at the center of the circle TBIa1 that moves according to the slide direction and the slide amount of the tap position. The coordinates are detected as the indicated position.
  • the designated position is a position corresponding to the locus formed by the tap position.
  • the first index processing unit 3003 generates image data of the circle TBIa1 that moves with the center and displays it on the touch screen 410.
  • the arrow TBIa2 of the bottle index TBIa is selected by tapping with a finger or the like, and the tap position is slid in the direction intersecting the arrow TBIa2.
  • the arrow TBIa2 is rotated around the center of the circle TBIa1 in the direction and the amount of the angle corresponding to the slide direction and the slide amount of the finger, and the direction is changed.
  • the finger is released from the touch screen 410, the rotation of the arrow TBIa2 is stopped.
  • the first input analysis unit 3007 detects the tap on the arrow TBIa2 as a correction command of the attitude index, and determines the pixel coordinates of the vector of the arrow TBIa2 that rotates according to the slide direction and the slide amount of the tap position. , Detect as the indicated posture.
  • the pointing posture is the direction corresponding to the locus formed by the tap position.
  • the first index processing unit 3003 generates the image data of the arrow TBIa2 that rotates with the vector and displays it on the touch screen 410.
  • the arrow TBIb2 of the bottle index TBIb is selected by tapping with a finger or the like, and the tap position is the axis of the arrow TBIb2. Slide in the direction. As a result, the arrow TBIb2 is stretched or contracted in the slide direction by a distance corresponding to the slide amount at the tap position, and its length is changed. When the finger is released from the touch screen 410, the length of the arrow TBIa2 returns to the length before expansion and contraction.
  • the first input analysis unit 3007 detects the tap on the arrow TBIa2 as a correction command of the size index, and detects the distance from the center of the circle TBIb1 in the direction of the arrow TBIb2 to the tap position as the indicated size. ..
  • the indicated size is a size corresponding to the locus formed by the tap position. Further, the first input analysis unit 3007 determines the indicated size classification by comparing the distance with the image size threshold value.
  • the first index processing unit 3003 generates image data of the bottle index TBIb that expands and contracts the arrow TBIa2 according to the above distance and changes the line type of the bottle index according to the indicated size classification, and displays it on the touch screen 410. In FIG.
  • the bottle index TBIb is represented by a broken line representing an erroneously detected small size category, whereas in FIG. 11 after the size index is modified, the bottle index TBIb is represented by a dashed line representing a large size category. Will be done. Further, since the line type of the bottle index changes according to the change of the size classification during the movement of the finger, the user can confirm the size classification during the correction operation of the size index.
  • the first index processing unit 3003 performs the bottle index that has been changed most recently from the present time. To determine the changes received by the bottle indicator. The above changes include modification, deletion and addition of bottle indicators.
  • the first input analysis unit 3007 outputs the position index, the posture index, and the size index of the bottle index whose change has been determined to the first conversion unit 3009 together with the ID.
  • the first index processing unit 3003 receives the bottle index with respect to the bottle index most recently changed from the present time. Revert the change to the original state before the change.
  • the first index processing unit 3003 performs the bottle index returned to the state before the change by selecting the button "restore”. , Restore the canceled change and return it to the state after the change.
  • the second index processing unit 3004 also operates in the same manner as the first index processing unit 3003 according to the selection of the button.
  • the first input analysis unit 3007 detects the deletion command of the bottle index on the touch screen 410 of the input / output device 400A
  • the ID of the bottle index and the deletion command of the bottle index are transmitted to the first index processing unit 3003 and the first index processing unit 3003.
  • the second input analysis unit 3008 detects the deletion command of the bottle index on the touch screen 410 of the input / output device 400B
  • the ID of the bottle index and the deletion command of the bottle index are transmitted to the second index processing unit 3004 and the second index.
  • the index processing units 3003 and 3004 output the corresponding bottle index ID and the deletion command of the image to the image synthesis units 3005 and 3006, respectively, to delete the screen display of the bottle index.
  • FIG. 12 is a diagram showing an example of a screen of a first superimposed image displaying a bottle index deleted by the information processing apparatus 300 according to the embodiment.
  • FIG. 13 is a diagram showing an example of a screen of the first superimposed image after the bottle index is deleted by the information processing apparatus 300 according to the embodiment.
  • the bottle index TBIc of the colored bottle image WCIc is erroneously displayed on the touch screen 410 and is to be deleted. Then, the inner region of the circumference of the circle TBIc1 of the bottle index TBIc is selected by tapping with a finger or the like, so that the bottle index TBIc is deleted.
  • the first input analysis unit 3007 detects the tap on the inner region of the circumference of the circle TBIc1 as a deletion command of the bottle index TBIc, and the first index processing unit 3003 detects the bottle as shown in FIG.
  • the image of the index TBIc is deleted from the touch screen 410.
  • the input analysis units 3007 and 3008 detect the additional command of the position index of the bottle index on the touch screen 410
  • the input analysis units 3007 and 3008 detect the pixel coordinates of the position designated on the screen as the designated position.
  • the input analysis units 3007 and 3008 detect the additional command of the posture index on the touch screen 410, they detect the pixel coordinates indicating the direction indicated on the screen as the designated posture.
  • the input analysis units 3007 and 3008 detect the additional command of the size index on the touch screen 410
  • the input analysis units 3007 and 3008 detect the size indicated on the screen as the indicated size.
  • the input analysis units 3007 and 3008 determine the indicated size category as the large size category when the indicated size is equal to or larger than the image size threshold value, and determine the indicated size category as the small size category when the indicated size is less than the image size threshold value. ..
  • the input analysis units 3007 and 3008 associate the ID of the new bottle index with the set of the designated position, the designated posture, and the designated size classification for the bottle index, respectively, and the first index processing unit 3003 and the first conversion unit 3009, respectively. In addition, it is output to the second index processing unit 3004 and the second conversion unit 3010.
  • the index processing units 3003 and 3004 generate a new bottle index including a new position index, a new posture index, and a new size index based on the above information received from the input analysis units 3007 and 3008, respectively, and the new bottle index.
  • ID and image data are output to the image compositing units 3005 and 3006 and displayed on the touch screen 410.
  • FIG. 14 and 15 are diagrams showing an example of a screen of a first superimposed image displaying a state in which a bottle index is added by the information processing device 300 according to the embodiment.
  • FIG. 16 is a diagram showing an example of a screen of the first superimposed image after the addition of the bottle index by the information processing apparatus 300 according to the embodiment.
  • the bottle index is not erroneously displayed on the transparent bottle image WTId
  • the transparent bottle image WTId is the target for adding the bottle index.
  • the designated position of the new position index of the new bottle index TBId is designated on the image of the transparent bottle WTd by tapping with a finger or the like, and the circle TBId1 of the new position index is displayed centering on the designated position.
  • the tapping finger is slid and then separated from the touch screen 410, so that the arrow TBId2 indicating the new posture index is moved in the sliding direction of the tap position as shown in FIG. Displayed in the corresponding direction.
  • the new bottle index TBId is represented by a alternate long and short dash line which is a line type indicating the size index of the size division corresponding to the slide amount at the tap position.
  • the first input analysis unit 3007 detects the tap at the position where the bottle index does not exist as an additional command of the new position index, detects the image coordinates of the tap position as the designated position, and detects the first index processing unit 3003. Uses the pixel coordinates of the indicated position as the pixel coordinates of the new position index.
  • the first input analysis unit 3007 detects the movement of the tap position from the indicated position as an additional command of the new posture index and the new size index.
  • the first input analysis unit 3007 detects the pixel coordinates indicating the slide direction of the tap position as the designated posture from the locus of the tap position, and the first index processing unit 3003 uses the pixel coordinates of the designated posture as the pixel coordinates of the new posture index. And.
  • the first input analysis unit 3007 detects the distance from the indicated position to the tap position in the slide direction as the indicated size, and determines the indicated size classification by comparing the indicated size with the image size threshold value.
  • the first index processing unit 3003 sets the indicated size classification as the size classification indicated by the new size index. Further, as shown in FIG. 16, the first index processing unit 3003 generates image data of the new bottle index TBId based on the new position index, the new posture index, and the new size index, and displays the image data on the touch screen 410.
  • the processing contents of the first input analysis unit 3007 based on the input information to the touch screen 410 of the input / output device 400A are illustrated, but the second input analysis unit 3008 also inputs to the touch screen 410 of the input / output device 400B. Based on the information, the same processing as that of the first input analysis unit 3007 is executed.
  • the conversion units 3009 and 3010 are examples of a position information detection unit, a size information detection unit, a posture information detection unit, and an output unit.
  • the conversion units 3009 and 3010 convert the information received from the input analysis units 3007 and 3008, respectively, detect the object information which is the information of the bottle, and output the object information to the robot control device 600.
  • the conversion units 3009 and 3010 convert the designated position, designated posture, and designated size classification for the bottle index to be modified, deleted, or added, thereby converting the three-dimensional center of gravity position of the bottle corresponding to the bottle index. Detects three-dimensional posture and size classification.
  • the indicated size classification and the bottle size classification have the same configuration, but they may be different and associated with each other.
  • the above detection can be performed by the same calculation as the calculation of the image processing unit 3002 for detecting the three-dimensional position, size, and orientation of the bottle of the bottle image from the image.
  • the conversion units 3009 and 3010 include the three-dimensional center of gravity position of the bottle corresponding to the modified, deleted or added bottle index, the three-dimensional posture, the size classification and the color classification, and the ID of the bottle in association with each other.
  • the information is output to the robot control device 600.
  • the robot control device 600 recognizes the bottle using the received object information and controls the robots 100A and 100B.
  • the function setting unit 3011 sets the function of the information processing device 300 according to the commands received from the input / output devices 400A and 400B.
  • FIG. 17 is a diagram showing an example of a screen for setting the function of the information processing apparatus 300 according to the embodiment.
  • the function setting unit 3011 is displayed on the touch screen 410, for example, as shown in FIG.
  • the function setting screen FS is displayed and the function setting of the information processing device 300 is accepted.
  • the function setting screen FS displays at least one setting item, and in the present embodiment, displays the setting items of "detection level", "circle size", and "large / small determination length". Further, when the button "back" displayed on the touch screen 410 is selected, the function setting unit 3011 closes the function setting screen FS.
  • the “detection level” is an item for setting the recognition accuracy of the bottle in the image captured by the image pickup apparatus 500, and is, for example, set to three accuracy levels of “high accuracy”, “standard”, and “low accuracy”. Allows settings.
  • the recognition accuracy of the bottle may include the recognition accuracy of the bottle itself and the recognition accuracy of the color, shape, size, position, etc. of the bottle.
  • the “circle size” is an item for setting the display size of the "circle” indicating the position index of the bottle index on the touch screen 410, and has three size levels of “large”, “medium”, and “small”. Allows setting to.
  • "Large / small judgment length” is an item for setting the actual size threshold value and the image size threshold value of the bottle size division, and can be set to three length levels of "length”, “medium”, and “short”. to enable.
  • the function setting unit 3011 displays the level that can be set for the item.
  • the function setting unit 3011 determines the level selected from the displayed levels as the level of the item, and notifies each functional component of the information processing apparatus 300. For example, the function setting unit 3011 notifies the image processing unit 3002 of the determined "detection level”.
  • the function setting unit 3011 notifies the index processing units 3003 and 3004 of the determined "circle size”.
  • the function setting unit 3011 notifies the input analysis units 3007 and 3008, the index processing units 3003 and 3004, and the like of the determined "large / small determination length".
  • FIG. 18 is a flowchart showing an example of the operation of the robot system 1 according to the embodiment.
  • step S101 the information processing device 300 causes the image pickup device 500 to image the transport surface 221 of the belt conveyor 200 at predetermined time intervals, and receives the captured image data.
  • step S102 the information processing apparatus 300 performs image processing on the image data to obtain a first image in which the edges of the transparent bottle image are highlighted and a second image in which the edges of the colored bottle image are highlighted. To generate.
  • the information processing apparatus 300 detects the position index, the posture index, and the size index of the transparent bottle image on the first image and the colored bottle image on the second image, and generates the bottle index.
  • the information processing device 300 generates a first superimposed image in which the bottle index of the transparent bottle image is superimposed and displayed on the bottle image of the first image, and causes the input / output device 400A to display the first superimposed image.
  • the information processing device 300 generates a second superimposed image in which the bottle index of the colored bottle image is superimposed and displayed on the bottle image of the second image, and displays it on the input / output device 400B.
  • the first superimposed image and the second superimposed image are still images, but are not limited to these, and may be moving images.
  • step S104 the information processing device 300 outputs the information of the actual transparent bottle and the information of the actual colored bottle corresponding to the bottle index of the transparent bottle image and the bottle index of the colored bottle image to the robot control device 600.
  • the bottle information includes the ID of the bottle, the three-dimensional center of gravity position, the three-dimensional posture, the size classification, and the color classification.
  • the robot control device 600 recognizes each bottle based on the information of the actual transparent bottle and the colored bottle.
  • the information processing device 300 performs a process corresponding to the input information to the input / output device 400A and a process corresponding to the input information to the input / output device 400B, both of which are the same processes. Therefore, only the processing corresponding to the input information to the input / output device 400A will be described.
  • step S105 the information processing apparatus 300 determines whether or not an input for correcting the bottle index, that is, a correction command has been detected, and if it detects it (Yes in step S105), proceeds to step S106 and does not detect it. (No in step S105) to step S108.
  • step S106 the information processing device 300 corrects the position index, the posture index, and / or the size index of the bottle index according to the content of the correction command of the bottle index, and causes the input / output device 400A to display the corrected bottle index. ..
  • the modification of the position index is performed by moving the circle representing the position index.
  • the posture index is modified by rotating the arrow indicating the posture index.
  • the size index is modified by expanding and contracting the above arrow.
  • step S107 the information processing apparatus 300 corrects the information of the actual bottle including the ID of the bottle corresponding to the corrected bottle index, the three-dimensional center of gravity position, the three-dimensional posture, the size classification, and the color classification. , Output to the robot control device 600.
  • the robot control device 600 corrects the bottle information corresponding to the corrected bottle index in the information of the bottle to be processed by the robot 100A, and recognizes the bottle.
  • the information processing device 300 proceeds to step S114.
  • step S108 the information processing apparatus 300 determines whether or not the input for deleting the bottle index, that is, the deletion command is detected, and if it is detected (Yes in step S108), proceeds to step S109, and if it is not detected. (No in step S108) to step S111.
  • step S109 the information processing device 300 causes the input / output device 400A to display a screen on which the bottle index is deleted in accordance with the bottle index deletion command.
  • the deletion of the bottle index is performed by designating the inner region of the circle representing the position index of the bottle index.
  • step S110 the information processing device 300 outputs the bottle information corresponding to the bottle index to be deleted to the robot control device 600.
  • the robot control device 600 excludes the information of the bottle to be deleted from the information of the bottle to be processed by the robot 100A.
  • the information processing device 300 proceeds to step S114.
  • step S111 the information processing apparatus 300 determines whether or not the input for adding the bottle index, that is, the additional command is detected, and if it is detected (Yes in step S111), proceeds to step S112 and if it is not detected. (No in step S111) to step S114.
  • step S112 the information processing device 300 detects the position index, the posture index, and the size index of the new bottle index according to the content of the addition command of the bottle index, and displays the new bottle index on the input / output device 400A.
  • the bottle index is added by designating the center position of the circle representing the new position index and then extending the arrow corresponding to the new posture index and the new size index from the center position. Will be done.
  • step S113 the information processing apparatus 300 additionally detects the bottle ID corresponding to the new bottle index, the three-dimensional center of gravity position, the three-dimensional posture, the size classification, and the color classification of the actual bottle. Output to the robot control device 600.
  • the robot control device 600 adds the bottle information corresponding to the new bottle index to the information of the bottle to be processed by the robot 100A, and recognizes the bottle.
  • the information processing device 300 proceeds to step S114.
  • step S114 the information processing device 300 determines whether or not it is the timing for newly capturing an image by the imaging device 500, and if it is the timing (Yes in step S114), returns to step S101 and reaches the timing. If it has not been reached yet (No in step S114), the process returns to step S105.
  • the information processing device 300 may include a timer or clock for timing.
  • the information processing apparatus 300 each time the image pickup device 500 captures an image, the information processing apparatus 300 generates and displays a first superimposed image and a second superimposed image using the image, and is included in each superimposed image.
  • the three-dimensional center of gravity position of the bottle corresponding to each bottle index, the three-dimensional posture, the size classification, and the color classification are output to the robot control device 600.
  • the information processing apparatus 300 has a three-dimensional center of gravity position of the bottle corresponding to the modified, deleted or added bottle index, and a three-dimensional posture, size classification and color classification. Etc. are output to the robot control device 600.
  • the operator can visually recognize the first superimposed image and the second superimposed image on the screen to determine the appropriateness or improperness of the bottle index, and correct, delete, or add the bottle index on the screen.
  • the bottle index can be modified, deleted, and added by combining only taps and slides on the screen.
  • the robot control device 600 recognizes each bottle by using not only the bottle information automatically detected by the information processing device 300 but also the bottle information corresponding to the bottle index corrected, deleted or added by the operator.
  • 100A and 100B can be controlled.
  • the input analysis units 3007 and 3008 function as position detection units, detect the indicated position of the bottle indicated on the screen on which the target bottle is projected, and detect the size. It functions as a unit and detects the indicated size of the bottle indicated on the screen.
  • the conversion units 3009 and 3010 function as position information detection units, detect the actual position of the bottle based on the indicated position, function as the size information detection unit, detect the actual size of the bottle based on the indicated size, and output. As a unit, it outputs object information including information on the actual position and size of the bottle.
  • the index processing units 3003 and 3004 generate a position index indicating the indicated position and a size index indicating the actual size of the bottle and display them on the screen.
  • the input analysis units 3007 and 3008 may detect the size corresponding to the locus formed by the instruction given on the screen as the instruction size.
  • the information processing device 300 detects and outputs the actual position and size of the bottle based on the position and size of the bottle indicated on the screen on which the bottle is projected. Therefore, the information processing device 300 enables setting on the screen for recognizing the actual bottle included in the image. Further, the information processing apparatus 300 generates a bottle position index and a size index, that is, an index representing the instructed contents, and displays them on the screen. Therefore, the position and size of the bottle on the screen can be easily recognized.
  • the conversion units 3009 and 3010 may output the object information to the robot control device 600 that controls the robots 100A and 100B that perform the processing work on the actual bottle.
  • the robot control device 600 can recognize the actual bottle by using the object information, and have the robots 100A and 100B perform the bottle processing work based on the recognition result. Therefore, the work accuracy of the robots 100A and 100B can be improved.
  • the image processing unit 3002 functions as a first image processing unit, extracts the bottle from the image by processing the image on which the bottle is projected, and extracts the extracted bottle.
  • the actual position and size of the image may be detected.
  • the index processing units 3003 and 3004 may generate and display a position index and a size index corresponding to the actual position and size of the bottle detected by the image processing unit 3002. According to the above configuration, the information processing apparatus 300 can automatically generate and display the position index and the size index of the bottle by processing the image on which the bottle is projected.
  • the input analysis units 3007 and 3008 may detect an instruction to modify or delete the position index added on the screen, and modify or delete the indicated position according to the instruction. Further, the conversion units 3009 and 3010 may correct or delete the information on the actual position of the bottle based on the corrected or deleted instruction position, and output the object information including the information on the position. Further, the index processing units 3003 and 3004 may modify or delete the position index based on the modified or deleted indicated position. According to the above configuration, the information processing apparatus 300 accepts corrections and deletions for the position index displayed on the screen, and the corrections and deletions are used as information on the position index and the actual position of the bottle corresponding to the position index. It can be reflected.
  • the input analysis units 3007 and 3008 may detect an instruction to modify or delete the size index added on the screen, and modify or delete the indicated size according to the instruction.
  • the conversion units 3009 and 3010 may modify or delete the information on the actual size of the bottle based on the modified or deleted indicated size, and output the object information including the information on the size.
  • the index processing units 3003 and 3004 may modify or delete the size index based on the actual size of the modified or deleted bottle.
  • the information processing apparatus 300 accepts corrections and deletions for the size index displayed on the screen, and the corrections and deletions are used as information on the size index and the actual size of the bottle corresponding to the size index. It can be reflected.
  • the input analysis units 3007 and 3008 function as position detection units, detect the indicated position of the bottle on the screen on which the bottle is projected, function as the posture detection unit, and function as the screen. Detects the indicated orientation of the bottle indicated above.
  • the conversion units 3009 and 3010 function as position information detection units, detect the actual position of the bottle based on the indicated position, function as the posture information detection unit, detect the actual posture of the bottle based on the indicated posture, and detect the actual posture of the bottle.
  • the index processing units 3003 and 3004 generate a position index representing the designated position and a posture index representing the designated posture and display them on the screen.
  • the input analysis units 3007 and 3008 may detect the direction corresponding to the trajectory formed by the instruction given on the screen as the instruction posture.
  • the information processing device 300 detects and outputs the actual position and orientation of the bottle based on the position and orientation of the bottle indicated on the screen on which the bottle is projected. Therefore, the information processing device 300 enables setting on the screen for recognizing the actual bottle included in the image. Further, since the information processing device 300 generates the position index and the posture index of the bottle and displays them on the screen, it is easy to recognize the position and the posture of the bottle on the screen.
  • the input analysis units 3007 and 3008 detect the indicated size of the bottle indicated on the screen
  • the conversion units 3009 and 3010 detect the actual size of the bottle based on the indicated size, and information on the size.
  • the object information including the above may be output.
  • the index processing units 3003 and 3004 may further generate a bottle size index and display it on the screen.
  • the information processing apparatus 300 detects and outputs the actual position, posture and size of the bottle based on the indicated position, indicated posture and indicated size indicated on the screen. Therefore, the information processing device 300 improves the recognition accuracy of the actual bottle. Further, since the information processing device 300 generates the bottle position index, the posture index, and the size index and displays them on the screen, the bottle position, the posture, and the size on the screen can be easily recognized.
  • the image processing unit 3002 processes the image on which the bottle is projected to determine the actual position and orientation of the bottle
  • the index processing units 3003 and 3004 indicate the position index and the position index corresponding to the actual position and orientation of the bottle.
  • a posture index may be generated and displayed. According to the above configuration, the information processing apparatus 300 can automatically generate and display the position index and the posture index of the bottle by processing the image on which the bottle is projected.
  • the image processing unit 3002 functions as a second image processing unit, detects the actual size of the bottle by processing the image on which the bottle is projected, and the index processing units 3003 and 3004 are the actual size of the bottle. A size index corresponding to the size may be generated and displayed. According to the above configuration, the information processing apparatus 300 can automatically generate and display the position index, the posture index, and the size index of the bottle by processing the image on which the bottle is projected.
  • the input analysis units 3007 and 3008 may detect an instruction to modify or delete the posture index added on the screen, and modify or delete the indicated posture according to the instruction.
  • the conversion units 3009 and 3010 may correct or delete the information on the actual posture of the bottle based on the corrected or deleted instruction posture, and output the object information including the information on the posture.
  • the index processing units 3003 and 3004 may modify or delete the posture index based on the corrected or deleted instruction posture.
  • the information processing apparatus 300 accepts corrections and deletions for the posture index displayed on the screen, and the corrections and deletions are used as information on the posture index and the actual posture of the bottle corresponding to the posture index. It can be reflected.
  • the setting device 10 includes an information processing device 300 and input / output devices 400A and 400B, and the input / output devices 400A and 400B receive a display for displaying a screen and input of an instruction for information processing. It includes an input device that outputs to the device 300.
  • the input / output devices 400A and 400B may include a touch screen 410 that includes a display function and an input device function. According to the above configuration, the same effect as that of the information processing apparatus 300 according to the embodiment can be obtained. Further, the setting device 10 enables input of settings for recognizing the actual bottle included in the image.
  • the image recognition system 20 includes a setting device 10 and an imaging device 500 that images the actual bottle and outputs the captured image to the setting device 10. According to the above configuration, the same effect as that of the information processing apparatus 300 according to the embodiment can be obtained. Further, the image recognition system 20 enables a setting for imaging the actual bottle and recognizing the actual bottle contained in the captured image.
  • the image processing unit 3002 of the information processing device 300 functions as a third image processing unit, and by processing the image obtained by capturing the actual image of the bottle, the actual bottle is processed.
  • the position, size and orientation of the image may be detected.
  • the index processing units 3003 and 3004 may generate a position index, a size index, and a posture index corresponding to the actual position, size, and posture of the bottle detected by the image processing unit 3002 and display them on the screen of the display. Good.
  • the image recognition system 20 can automatically generate and display the position index, the posture index, and the size index of the bottle using the image captured by the image pickup device 500.
  • the robot system 1 includes an image recognition system 20, robots 100A and 100B that perform processing work on the actual bottle, and a robot control device 600 that controls the robots 100A and 100B.
  • the 600 recognizes the actual bottle by using the object information output from the information processing device 300, and causes the robots 100A and 100B to process the actual bottle.
  • the robot system 1 can automatically detect the position, posture, and size of the actual bottle using the image captured by the image pickup device 500, and can be applied to the control of the robots 100A and 100B.
  • the robot system 1 accepts the setting of the bottle position index, the posture index and / or the size index via the screens of the input / output devices 400A and 400B, and sets the accepted setting into the actual bottle position, posture and size. It can be reflected. Therefore, the robot system 1 enables highly accurate control of the robots 100A and 100B.
  • the bottle index which is an object index includes a position index, a posture index, and a size index, but the index included in the object index is not limited to this.
  • the object index may include at least one of a position index, a posture index, and a size index.
  • the object index may not include the position index when the position of the object is known in advance, and may not include the posture index when the object does not have an orientation like a sphere. It is not necessary to include the size index when the sizes of the objects are the same.
  • the object information processed by the information processing apparatus 300 may include at least one piece of information on the position, posture, and size of the actual object.
  • an input method of a combination of tap and slide to the touch screen 410 with a finger or a pen is used as a method of inputting correction, deletion and additional information for the bottle index to the input / output devices 400A and 400B.
  • Any input method that can detect the position, direction, and distance may be used.
  • the input of the direction and the distance may be an input for designating the start point position and the end point position.
  • the input analysis units 3007 and 3008 of the information processing apparatus 300 detect the size division of the indicated size input to the touch screen 410 and output the size classification to the conversion units 3009 and 3010, but the present invention is not limited thereto. ..
  • the conversion units 3009 and 3010 may detect the size classification from the indicated size received from the input analysis units 3007 and 3008. Also, the size classification may not be used.
  • the input analysis units 3007 and 3008 may output the indicated size to the conversion units 3009 and 3010, and the conversion units 3009 and 3010 may detect the size of the actual bottle using the indicated size.
  • the input / output devices 400A and 400B include, but are not limited to, a touch screen 410 for displaying on the screen and accepting correction, deletion, and input of additional information for the bottle index.
  • the input / output devices 400A and 400B may separately include a display for displaying a screen and an input device for receiving input.
  • the input / output devices 400A and 400B may be configured to operate an instruction element such as a pointer and a cursor on the display screen according to a command input to the input device.
  • the input device may be, for example, a device including a cross button, a push switch, a lever, a dial, a joystick, a mouse, a key, and the like.
  • the information processing device 300 processes the same image captured by the image pickup device 500, and the first image in which the edge of the transparent bottle is emphasized and the second image in which the edge of the colored bottle is emphasized are emphasized. Generates an image, but is not limited to this.
  • a plurality of imaging devices 500 may be provided corresponding to the robot 100.
  • the information processing device 300 processes the image captured by the first imaging device 500 corresponding to the first robot 100A to generate a first image, and images the image by the second imaging device 500 corresponding to the second robot 100B.
  • the resulting image may be processed to generate a second image.
  • a plurality of information processing devices 300 may be provided by making them correspond to the robot 100 or the like.
  • the first information processing device 300 corresponding to the first robot 100A may perform processing related to the first image
  • the second information processing device 300 corresponding to the second robot 100B may perform processing related to the second image.
  • the robot 100 is a horizontal articulated industrial robot, but the robot 100 is not limited to, for example, a vertical articulated robot, a polar coordinate robot, a cylindrical coordinate robot, and a right angle. It may be configured as a coordinate robot or other industrial robot.
  • the robot 100 may be other than an industrial robot, and may be a service robot, a construction machine, a crane, a cargo handling vehicle, a humanoid, or the like.
  • Service robots are robots used in various service industries such as nursing care, medical care, cleaning, security, guidance, rescue, cooking, and product provision.
  • the technique of the present disclosure may be a setting method.
  • the setting method according to one aspect of the present disclosure is a method of setting the position and size of the object for recognizing the actual object displayed on the screen, and the object instructed on the screen.
  • the indicated position which is the position of the object
  • the indicated size which is the size of the object indicated on the screen
  • the actual position of the object is detected based on the indicated position, and the instruction is given.
  • the actual size of the object is detected, a position index indicating the indicated position and a size index indicating the actual size of the object are generated and displayed on the screen, and the actual object is displayed.
  • Outputs object information including information on the position and size of.
  • the setting method is a method of setting the position and posture of the object for recognizing the actual object displayed on the screen, and is instructed on the screen.
  • the designated position which is the position of the object
  • the designated posture which is the posture of the object indicated on the screen
  • the actual position of the object is detected based on the designated position.
  • the actual posture of the object is detected, a position index representing the indicated position and a posture index representing the indicated posture are generated and displayed on the screen, and the actual position of the object is displayed.
  • output object information including posture information.
  • the indicated size which is the size of the object indicated on the screen
  • the actual size of the object is detected based on the indicated size.
  • a size index indicating the actual size of the object may be further generated and displayed on the screen, and the object information including the information on the actual size of the object may be output.
  • Such a setting method may be realized by a circuit such as a CPU and an LSI, an IC card, a single module, or the like.
  • the technique of the present disclosure may be a program for executing the above setting method, or may be a non-temporary computer-readable recording medium in which the above program is recorded. Needless to say, the above program can be distributed via a transmission medium such as the Internet.
  • the numbers such as the ordinal number and the quantity used above are all examples for concretely explaining the technology of the present disclosure, and the present disclosure is not limited to the illustrated numbers.
  • the connection relationship between the components is illustrated for the purpose of specifically explaining the technique of the present disclosure, and the connection relationship for realizing the function of the present disclosure is not limited thereto.
  • the division of blocks in the functional block diagram is an example, and even if a plurality of blocks are realized as one block, one block is divided into a plurality of blocks, and / or some functions are transferred to another block. Good.
  • a single piece of hardware or software may process the functions of a plurality of blocks having similar functions in parallel or in a time division manner.
  • the image processing unit 3002 of the information processing apparatus 300 shown in FIG. 6 uses a trained model generated in advance by machine learning to obtain a bottle position, a color, and a bottle position and a color from a camera image generated by the imaging apparatus 500. And by detecting the size, etc., the recognition accuracy is improved.
  • FIG. 19 is a block diagram showing a functional configuration example of the learning device 700.
  • FIG. 20 is a diagram showing an example of the contents of the learning DB (database) 710.
  • the learning device 700 uses the learning data set stored in the learning DB 710 to generate a trained model for estimating the position, color, and size of the bottle in the image.
  • the learning device 700 is a computer including a CPU, RAM, ROM, non-volatile memory, an input / output interface, and the like.
  • the CPU of the learning device 700 executes information processing according to a program loaded into the RAM from the ROM or the non-volatile memory.
  • the learning device 700 includes an acquisition unit 701 and a learning unit 702. These functional units are realized by the CPU of the learning device 700 executing information processing according to a program.
  • the acquisition unit 701 acquires a learning data set from the learning DB 710.
  • the learning unit 702 uses the learning data set acquired by the acquisition unit 701 to generate a trained model for estimating the position, color, and size of the bottle in the image by machine learning.
  • the learning DB 710 stores a learning data set in which learning images, classes, and positions are associated with each other.
  • the learning image is used as input data.
  • Classes and locations are used as teacher data.
  • the learning image is an image including the image of the bottle that is the object.
  • the learning image is, for example, an image generated by an image pickup device 500 (see FIG. 1) that photographs a bottle W on a belt conveyor 200. Not limited to this, the learning image may be an image of the bottle taken at another place.
  • the class and position are the class and position of the bottle included in the learning image.
  • the class and position of the bottle is determined and entered by, for example, a person.
  • the bottle classes are divided into, for example, "transparent bottle / large”, “transparent bottle / small”, “colored bottle / large”, and “colored bottle / small”. Whether it is a transparent bottle or a colored bottle represents the color of the bottle. Large or small represents the size of the bottle. The color and size of the bottle is an example of the attributes of the bottle.
  • the position of the bottle is the position of the bottle in the learning image, and is represented by the coordinates of the boundary box including the bottle, for example.
  • the coordinates of the bounding box include the xy coordinates of the upper left corner, width, and height.
  • the position of the bottle may be represented by the coordinates of a representative point such as the center position.
  • the representative point is one point in the image of the bottle in the learning image.
  • FIG. 21 is a diagram showing an example of a procedure for generating a trained model, which is realized in the learning device 700.
  • the process of generating the trained model is started by a user operation.
  • FIG. 22 is a diagram for explaining the generation process of the trained model. In the figure, the step numbers of the processes are assigned to the parts corresponding to each process in FIG. 21.
  • an object detection model MDL such as SSD (Single Shot MultiBox Detector) is used.
  • the output layer of the object detection model MDL is provided with elements of class (Class name), coordinates of boundary box (Bounding Box (x, y, w, h)), and accuracy (Confidence).
  • Class name elements of class
  • Bounding Box x, y, w, h
  • accuracy Consens.
  • Mask R-CNN or YOLO You Only Look Once
  • Object detection model Not limited to MDL, an area division model such as Semantic Segmentation or Instance Segmentation that divides the image area may be used, or a feature point detection model such as Keypoint Detection that detects feature points in the image is used. May be done.
  • an area division model such as Semantic Segmentation or Instance Segmentation that divides the image area may be used, or a feature point detection model such as Keypoint Detection that detects feature points in the image is used. May be done.
  • step S21 the acquisition unit 701 acquires a learning data set including a learning image, a class, and a position from the learning DB 710.
  • step S22 the learning unit 702 inputs the learning image LP as input data IPD into the object detection model MDL.
  • the learning unit 702 performs the calculation by the object detection model MDL.
  • step S24 the learning unit 702 outputs the class, position, and accuracy as output data OPD from the object detection model MDL.
  • the class represents the color and size of the bottle.
  • step S25 the learning unit 702 calculates an error between the class and position as the output data OPD and the class and position as the teacher data TRD.
  • step S26 the learning unit 702 performs an error back propagation calculation so as to reduce the error.
  • a trained model that is, a trained object detection model for estimating the position, color, and size of the bottle in the image is generated.
  • the generated trained model is used in the operational phase described below.
  • FIG. 23 is a diagram showing an example of a procedure of identification processing using a learned model, which is realized in the robot system 1.
  • the identification process is started when the image pickup apparatus 500 images the bottle W on the belt conveyor 200.
  • FIG. 24 is a diagram for explaining the identification process using the trained model. In the following description, the relationship with each functional unit of the information processing apparatus 300 shown in FIG. 6 will also be referred to.
  • step S31 the information processing device 300 acquires the camera image CP generated by the image pickup device 500 (processing as the image pickup control unit 3001).
  • step S32 the information processing apparatus 300 estimates the position, color, and size of the bottle in the camera image CP using the trained model LMDL generated in the above-mentioned learning phase (processing as the image processing unit 3002). ).
  • the information processing apparatus 300 inputs the camera image CP as input data IPD into the trained model LMDL, performs calculations by the trained model LMDL, and determines the class, position, and accuracy. Output data Output as OPD.
  • the class represents the color and size of the bottle.
  • the position represents the coordinates of the bounding box containing the bottle. Further, the information processing apparatus 300 may calculate the coordinates of a representative point such as the center position of the boundary box based on the coordinates of the boundary box, and use this as the position of the bottle.
  • the coordinates of the representative points of the bottle in the camera image CP may be directly estimated by using a region division model such as Keypoint Detection that detects feature points in the image.
  • a region division model such as Keypoint Detection that detects feature points in the image.
  • an area division model such as Semantic Segmentation that divides the area of the image
  • the area of the bottle in the camera image is estimated, the coordinates of the representative points such as the center position of the area are calculated, and this is used as the position of the bottle. May be good.
  • step S33 the information processing apparatus 300 generates a bottle index based on the estimated position, color, and size of the bottle (processing as the index processing unit 3003, 3004).
  • the information processing apparatus 300 generates a bottle index of a transparent bottle when the estimated bottle color is a transparent bottle (processing as the first index processing unit 3003). Further, the information processing apparatus 300 generates a bottle index of the colored bottle when the estimated color of the bottle is a colored bottle (processing as the second index processing unit 3004).
  • the bottle index includes a position index based on the estimated bottle position and a size index based on the estimated bottle size.
  • step S34 the information processing device 300 displays the camera image and the bottle index on the touch screens 410 of the input / output devices 400A and 400B (processing as the image compositing unit 3005 and 3006).
  • the information processing device 300 synthesizes the camera image and the image of the bottle index of the transparent bottle and outputs the image to the input / output device 400A (processing as the first image synthesis unit 3005). Further, the information processing device 300 synthesizes the camera image and the image of the bottle index of the colored bottle and outputs the image to the input / output device 400B (processing as the second image synthesis unit 3006).
  • the combined image is, for example, the same as the superimposed image shown in FIGS. 8 and 9 above.
  • the camera image and the bottle index image may be displayed side by side.
  • step S35 the information processing apparatus 300 proceeds to step S36 when there is no instruction for correction of the displayed bottle index (S35: NO).
  • step S36 the information processing apparatus 300 stores the camera image acquired in step S31 and the position, color, and size of the bottle estimated in step S32.
  • step S37 the information processing device 300 outputs the bottle information corresponding to the bottle index to the robot control device 600 (processing as the index processing units 3003 and 3004).
  • the bottle information includes information such as the position, color, and size of the bottle.
  • step S35 the information processing apparatus 300 proceeds to step S38 when there is an instruction to correct the displayed bottle index (S35: YES).
  • step S38 the information processing apparatus 300 corrects at least one of the position, color, and size of the bottle based on the correction instruction (processing as the input analysis unit 3007, 3008).
  • the information processing device 300 detects a correction instruction for the bottle index being displayed by analyzing the input information input to the touch screens 410 of the input / output devices 400A and 400B.
  • the modification of the bottle index is the same as the modification of the bottle index shown in FIGS. 10 to 16 above.
  • the modification to the bottle index includes the deletion and addition of the bottle index.
  • step S39 the information processing device 300 saves the modified content (processing as a storage processing unit). Specifically, the information processing apparatus 300 associates at least one of the modified bottle positions, colors, and sizes with the camera image, and stores the modified storage DB (database) 3013 built in the storage unit 3012. save.
  • the modified storage DB database
  • FIG. 25 is a diagram showing an example of the contents of the modified storage DB 3013.
  • the position, color, and size of the bottle are associated with the camera image, and at least one of the position, color, and size of the bottle is modified.
  • the information processing apparatus 300 stores the corrected position of the bottle in association with the camera image and the color and size of the uncorrected bottle.
  • the items saved in the modified save DB 3013 correspond to the items saved in the learning database 710 (see FIG. 20). That is, the camera image corresponds to the learning image, the position of the bottle corresponds to the position, and the color and size of the bottle correspond to the class.
  • step S39 After the execution of step S39, the above-mentioned steps S36 and S37 are executed. In addition, step S36, step S37, and step S38 may be executed in parallel.
  • the acquisition unit 701 of the learning device 700 acquires the camera image, the position, the color, and the size of the bottle from the modified storage DB 3013.
  • the learning unit 702 of the learning device 700 retrains the trained model using the camera image as input data and the position, color, and size of the bottle as teacher data. Since the specific process of re-learning is the same as the process shown in FIGS. 21 and 22, detailed description thereof will be omitted.
  • the learning device 700 uses the learning image LP as the input data IPD, the position and attribute of the bottle in the learning image LP as the teacher data TRD, and the position and attribute of the bottle in the camera image CP.
  • a trained model for estimating is generated by machine learning. According to this, it is possible to generate a trained model for improving the recognition accuracy.
  • the information processing device 300 detects the position and attribute of the bottle from the camera image CP by using the learned model LMDL generated by the learning device 700. According to this, the recognition accuracy can be improved by using the trained model.
  • the information processing apparatus 300 stores at least one of the corrected bottle position, color, and size according to the correction instruction to the bottle index added on the screen in association with the camera image CP. To do. According to this, the correction contents judged and input by the user can be used for re-learning.
  • the learning device 700 uses the camera image CP stored by the information processing device 300 as input data and at least one of the corrected bottle positions, colors, and sizes as teacher data for learning. Relearn the completed model LMDL. According to this, since re-learning is performed using the correction contents judged and input by the user, it is possible to further improve the recognition accuracy of the trained model.
  • the color and size of the bottle are given as examples of the attributes of the bottle detected by the image processing, but the attributes of the bottle are not limited to these.
  • the attributes of the bottle include, for example, the size, orientation, color, or condition of the bottle.
  • the posture of the bottle may be used as an attribute of the bottle as in the above embodiment.
  • the state of the bottle such as a broken bottle or a label, may be used as an attribute of the bottle.
  • the input analysis units 3007 and 3008 are examples of attribute detection units that detect the instruction attribute, and the conversion units 3009 and 3010 detect the attribute information that detects the actual attributes. This is an example of the department.
  • the image pickup apparatus 500 is an example of the sensing unit
  • the camera image CP is an example of the detected image generated by the sensing unit.
  • a stereo camera or a TOF (Time-of-Flight) camera that generates a detected image representing the three-dimensional position of the object may be used as the sensing unit.
  • the sensing unit not only the camera image CP but also the learning image LP uses the similarly generated detection image representing the three-dimensional position.
  • LiDAR Light Detection And Ringing
  • the imaging device 500 LiDAR (Light Detection And Ringing) which emits irradiation light and generates a detection image showing the distance of an object by using the reflected light of the emitted irradiation light
  • the sensing unit is used as a sensing unit. May be done.
  • the camera image CP but also the learning image LP uses the detected image representing the distance of the similarly generated object.
  • Robot system 10 Setting device 20 Image recognition system 100, 100A, 100B Robot 300 Information processing device 400, 400A, 400B Input / output device 410 Touch screen 500 Imaging device 600 Robot control device 3002 Image processing unit (first image processing unit, first 2 image processing unit, 3rd image processing unit) 3003,3004 Index processing unit 3005,3006 Image composition unit 3007,3008 Input analysis unit (position detection unit, size detection unit, posture detection unit) 3009, 3010 Conversion unit (position information detection unit, size information detection unit, posture information detection unit, output unit) W bottle (object)

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Robotics (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulator (AREA)

Abstract

情報処理装置は、対象物が映し出される画面上で指示される前記対象物の位置である指示位置を検出する位置検出部と、前記画面上で指示される前記対象物のサイズである指示サイズを検出するサイズ検出部と、前記指示位置に基づき、前記対象物の実物の位置を検出する位置情報検出部と、前記指示サイズに基づき、前記対象物の実物のサイズを検出するサイズ情報検出部と、前記指示位置を表す位置指標と前記対象物の実物のサイズを表すサイズ指標とを生成し前記画面上に表示する指標処理部と、前記対象物の実物の位置及びサイズの情報を含む対象物情報を出力する出力部とを含む。

Description

情報処理装置、設定装置、画像認識システム、ロボットシステム、設定方法、学習装置、及び学習済みモデルの生成方法 関連出願への相互参照
 本件出願は、2019年8月26日に日本特許庁に出願された特願2019-154103号の優先権を主張するものであり、その全体を参照することにより本件出願の一部となすものとして引用する。
 本開示は、情報処理装置、設定装置、画像認識システム、ロボットシステム、設定方法、学習装置、及び学習済みモデルの生成方法に関する。
 従来、ワークを撮像した画像を用いて動作を制御するロボットがある。例えば、特許文献1は、カメラによってワークを撮像した画像を用いて、ワークの3次元位置及び姿勢を計測し、計測された情報を用いて、ロボットアーム先端部及びロボットハンドを制御する装置を開示している。
特開2009-241247号公報
 例えば、複数のワークがランダムに配置されるような作業環境では、2つのワークが重なっている場合がある。このような場合、特許文献1の装置は、重なっているワークを1つのワークとして検出する、又は、ワークとして検出しない可能性がある。このため、検出結果におけるワークの修正又は追加が必要である。
 そこで、本開示は、画像に含まれるワーク等の対象物を認識するための設定を可能にする情報処理装置、設定装置、画像認識システム、ロボットシステム、設定方法、学習装置、及び学習済みモデルの生成方法を提供することを目的とする。
 上記目的を達成するために、本開示の一態様に係る情報処理装置は、対象物が映し出される画面上で指示される前記対象物の位置である指示位置を検出する位置検出部と、前記画面上で指示される前記対象物の属性である指示属性を検出する属性検出部と、前記指示位置に基づき、前記対象物の実物の位置を検出する位置情報検出部と、前記指示属性に基づき、前記対象物の実物の属性を検出する属性情報検出部と、前記指示位置を表す位置指標と前記対象物の実物の属性を表す属性指標とを生成し前記画面上に表示する指標処理部と、前記対象物の実物の位置及び属性の情報を含む対象物情報を出力する出力部とを含む。
 本開示の別の一態様に係る情報処理装置は、対象物が映し出される画面上で指示される前記対象物の位置である指示位置を検出する位置検出部と、前記画面上で指示される前記対象物のサイズである指示サイズを検出するサイズ検出部と、前記指示位置に基づき、前記対象物の実物の位置を検出する位置情報検出部と、前記指示サイズに基づき、前記対象物の実物のサイズを検出するサイズ情報検出部と、前記指示位置を表す位置指標と前記対象物の実物のサイズを表すサイズ指標とを生成し前記画面上に表示する指標処理部と、前記対象物の実物の位置及びサイズの情報を含む対象物情報を出力する出力部とを含む。
 本開示の別の一態様に係る情報処理装置は、対象物が映し出される画面上で指示される前記対象物の位置である指示位置を検出する位置検出部と、前記画面上で指示される前記対象物の姿勢である指示姿勢を検出する姿勢検出部と、前記指示位置に基づき、前記対象物の実物の位置を検出する位置情報検出部と、前記指示姿勢に基づき、前記対象物の実物の姿勢を検出する姿勢情報検出部と、前記指示位置を表す位置指標と前記指示姿勢を表す姿勢指標とを生成し前記画面上に表示する指標処理部と、前記対象物の実物の位置及び姿勢の情報を含む対象物情報を出力する出力部とを含む。
 本開示の一態様に係る学習用画像並びに前記学習用画像に含まれる対象物の位置及び属性を取得する取得部と、前記学習用画像を入力データとし、前記対象物の位置及び属性を教師データとして、画像から対象物の位置及び属性を推定するための学習済みモデルを機械学習により生成する学習部と、を備える学習装置。
 本開示の一態様に係る学習済みモデルの生成方法は、学習用画像並びに前記学習用画像に含まれる対象物の位置及び属性を取得し、前記学習用画像を入力データとし、前記対象物の位置及び属性を教師データとして、画像から対象物の位置及び属性を推定するための学習済みモデルを機械学習により生成する。
 本開示の一態様に係る設定装置は、本開示の一態様に係る情報処理装置と、前記画面を表示するディスプレイと、前記指示の入力を受け付け前記情報処理装置に出力する入力装置とを備える。
 本開示の一態様に係る画像認識システムは、本開示の一態様に係る設定装置と、前記対象物の実物を撮像し、撮像された画像を前記設定装置に出力する撮像装置とを備える。
 本開示の一態様に係るロボットシステムは、本開示の一態様に係る画像認識システムと、前記対象物の実物に対する処理作業を行うロボットと、前記ロボットを制御する制御装置とを備え、前記制御装置は、前記情報処理装置の前記出力部から出力される前記対象物情報を用いて、前記対象物の実物を認識し、前記ロボットに前記対象物の実物を処理させる。
 本開示の一態様に係る設定方法は、画面上に映し出される対象物の実物を認識するための前記対象物の位置及びサイズの設定方法であって、前記画面上で指示される前記対象物の位置である指示位置を検出し、前記画面上で指示される前記対象物のサイズである指示サイズを検出し、前記指示位置に基づき、前記対象物の実物の位置を検出し、前記指示サイズに基づき、前記対象物の実物のサイズを検出し、前記指示位置を表す位置指標と前記対象物の実物のサイズを表すサイズ指標とを生成し前記画面上に表示し、前記対象物の実物の位置及びサイズの情報を含む対象物情報を出力する。
 本開示の別の一態様に係る設定方法は、画面上に映し出される対象物の実物を認識するための前記対象物の位置及び姿勢の設定方法であって、前記画面上で指示される前記対象物の位置である指示位置を検出し、前記画面上で指示される前記対象物の姿勢である指示姿勢を検出し、前記指示位置に基づき、前記対象物の実物の位置を検出し、前記指示姿勢に基づき、前記対象物の実物の姿勢を検出し、前記指示位置を表す位置指標と前記指示姿勢を表す姿勢指標とを生成し前記画面上に表示し、前記対象物の実物の位置及び姿勢の情報を含む対象物情報を出力する。
 本開示の技術によれば、画像に含まれる対象物を認識するための設定が可能となる。
図1は、実施の形態に係るロボットシステムの構成の一例を示す平面図である。 図2は、実施の形態に係るロボットシステムの構成の一例を示すブロック図である。 図3は、実施の形態に係るロボットの構成の一例を示す側面図である。 図4は、実施の形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。 図5は、実施の形態に係るロボット制御装置のハードウェア構成の一例を示すブロック図である。 図6は、実施の形態に係る情報処理装置の機能的構成の一例を示すブロック図である。 図7は、実施の形態に係る情報処理装置によって画像処理された画像の一例を示す図である。 図8は、実施の形態に係る情報処理装置によって生成される瓶指標の第1重畳画像の画面の一例を示す図である。 図9は、実施の形態に係る情報処理装置によって生成される瓶指標の第2重畳画像の画面の一例を示す図である。 図10は、実施の形態に係る情報処理装置によって修正される瓶指標を表示する第1重畳画像の画面の一例を示す図である。 図11は、実施の形態に係る情報処理装置による修正後の瓶指標を表示する第1重畳画像の画面の一例を示す図である。 図12は、実施の形態に係る情報処理装置によって削除される瓶指標を表示する第1重畳画像の画面の一例を示す図である。 図13は、実施の形態に係る情報処理装置による瓶指標の削除後の第1重畳画像の画面の一例を示す図である。 図14は、実施の形態に係る情報処理装置によって瓶指標が追加される状態を表示する第1重畳画像の画面の一例を示す図である。 図15は、実施の形態に係る情報処理装置によって瓶指標が追加される状態を表示する第1重畳画像の画面の一例を示す図である。 図16は、実施の形態に係る情報処理装置による瓶指標の追加後の第1重畳画像の画面の一例を示す図である。 図17は、実施の形態に係る情報処理装置の機能を設定する画面の一例を示す図である。 図18は、実施の形態に係るロボットシステムの動作の一例を示すフローチャートである。 図19は、変形例に係る学習装置の機能的構成例を示すブロック図である。 図20は、学習用データベースの内容例を示す図である。 図21は、学習済みモデルの生成処理の手順例を示す図である。 図22は、学習済みモデルの生成処理を説明するための図である。 図23は、学習済みモデルを用いた識別処理の手順例を示す図である。 図24は、学習済みモデルを用いた識別処理を説明するための図である。 図25は、修正保存データベースの内容例を示す図である。
 以下において、本開示の実施の形態を、図面を参照しつつ説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、添付の図面における各図は、模式的な図であり、必ずしも厳密に図示されたものでない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。また、本明細書及び請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
 <ロボットシステムの構成>
 実施の形態に係るロボットシステム1の構成を説明する。図1は、実施の形態に係るロボットシステム1の構成の一例を示す平面図である。図2は、実施の形態に係るロボットシステム1の構成の一例を示すブロック図である。
 図1に示すように、本実施の形態では、ロボットシステム1は、ベルトコンベヤ200上にランダムに載せられた複数の対象物Wをロボット100が分別するシステムであるとして説明する。対象物Wは特に限定されないが、本実施の形態では廃棄物であり、具体的には空き瓶(以下、「瓶W」とも表記する)である。なお、ロボットシステム1は、対象物Wを分別するシステムに限定されず、例えば、対象物Wに対してピッキング、配置又は加工等の作業を行うシステムであってもよい。つまり、ロボットシステム1は、対象物Wが存在する位置又は配置される位置の特定を伴う作業を行うシステムであってもよい。
 本実施の形態に係るロボットシステム1は、少なくとも1つのロボット100と、ベルトコンベヤ200と、情報処理装置300と、入出力装置400と、撮像装置500と、ロボット制御装置600とを備える。図2に示すように、情報処理装置300及び入出力装置400は、設定装置10を構成する。情報処理装置300、入出力装置400及び撮像装置500は、画像認識システム20を構成する。
 図1に示すように、ベルトコンベヤ200は、その搬送面221を方向Dに移動し、搬送面221上の瓶Wを方向Dに搬送する。ベルトコンベヤ200は、方向Dに並ぶ複数のローラ210と、複数のローラ210に掛け渡された無端輪状の搬送ベルト220と、ローラ210を回転駆動する電気モータであるコンベヤモータ230とを備える。搬送面221は、搬送ベルト220の上方に向いた外周面である。
 2つのロボット100A及び100Bが、ベルトコンベヤ200に対して方向Dでの下流側の両側に配置されている。ロボット100A及び100Bは産業用ロボットである。以下において、2つのロボットを区別する場合は「ロボット100A」及び「ロボット100B」と表記し、区別しない場合は「ロボット100」と表記する場合がある。
 ロボット100Aは、ロボット制御装置600の制御に従って、ベルトコンベヤ200上の瓶Wの中の透明な瓶(以下「透明瓶」とも表記する)を、サイズに応じた2つの区分の透明瓶WTL及びWTSに選別して取り出し、つまり分別し、回収箱701L及び701Sに投入する。透明瓶WTLは、より大きいサイズ区分(以下、「大サイズ区分」とも表記する)の瓶であり回収箱701Lに投入され、透明瓶WTSは、より小さいサイズ区分(以下、「小サイズ区分」とも表記する)の瓶であり回収箱701Sに投入される。
 ロボット100Bは、ロボット制御装置600の制御に従って、ベルトコンベヤ200上の瓶Wの中の茶色等の色付きの瓶(以下、「色付き瓶」とも表記する)を、大サイズ区分及び小サイズ区分の色付き瓶WCL及びWCSに選別して取り出し、つまり分別し、回収箱702L及び702Sに投入する。色付き瓶WCLは回収箱702Lに投入され、色付き瓶WCSは回収箱702Sに投入される。
 図3は、実施の形態に係るロボット100の構成の一例を示す側面図である。図1及び図3に示すように、ロボット100A及び100B、つまりロボット100は、基台110と、基台110に配置された2つのアーム120及び130とを備える双腕ロボットである。具体的には、ロボット100は、アーム120及び130が鉛直方向の第1軸S1を中心とする同軸上で水平面内で回動可能である同軸双腕ロボットである。アーム120及び130は、水平多関節型のロボットアームを構成する。ロボット100は、アーム120及び130それぞれの先端に、瓶Wを保持するためのエンドエフェクタ150及び160を備える。エンドエフェクタ150及び160は、瓶Wを保持し搬送することができればよく、本実施の形態では瓶Wを負圧により吸着する。エンドエフェクタ150及び160が対象物を保持する構成は、吸着を用いる構成に限定されず、把持、掬い上げ、吊り上げ、係合、粘着力及び磁力等を用いる構成であってもよい。
 アーム120は、リンク121~124と、アーム駆動装置MA1~MA4(図2参照)とを含む。アーム130は、リンク131~134と、アーム駆動装置MB1~MB4(図2参照)とを含む。アーム駆動装置MA1~MA4及びMB1~MB4は、電気モータ等を含み、本実施の形態ではサーボモータを含む。アーム駆動装置MA1~MA4及びMB1~MB4の駆動は、ロボット制御装置600によって制御される。
 第1リンク121及び131はそれぞれ、第1軸S1を中心に水平面内で互いに独立して回動可能に、回転関節JTA1及びJTB1を介して基台110と接続される。第1リンク121及び131は、回動時の互いの干渉を抑えるように、第1軸S1の方向にずらして配置される。第2リンク122及び132はそれぞれ、鉛直方向の第2軸S2a及びS2bを中心に水平面内で回動可能に、回転関節JTA2及びJTB2を介して第1リンク121及び131の先端と接続される。第3リンク123及び133はそれぞれ、鉛直方向の第3軸S3a及びS3bに沿って昇降可能に、直動関節JTA3及びJTB3を介して第2リンク122及び132の先端と接続される。第4リンク124及び134はそれぞれ、第3リンク123及び133の長手方向の第4軸S4a及びS4bを中心に回動可能に、回転関節JTA4及びJTB4を介して第3リンク123及び133の下端と接続される。第4軸S4a及びS4bは、鉛直方向の軸でもある。第4リンク124及び134はそれぞれ、エンドエフェクタ150及び160と接続するためのメカニカルインタフェースを構成する。
 アーム駆動装置MA1~MA4はそれぞれ、関節JTA1~JTA4を駆動し、リンク121~124を回動又は昇降させる。アーム駆動装置MB1~MB4はそれぞれ、関節JTB1~JTB4を駆動し、リンク131~134を回動又は昇降させる。
 エンドエフェクタ150及び160は、支持体171と、支持体171上に矩形状に配列された複数の吸着ノズル170を備える。エンドエフェクタ150及び160は、同様の構成を有してもよく、例えば、吸着ノズル170の数量及び配置等で異なる構成を有してもよい。複数の吸着ノズル170は、中空筒状の形状を有し、配管を介して負圧発生装置180(図2参照)と接続される。複数の吸着ノズル170は、負圧発生装置180が発生する負圧によって、その先端で対象物を吸着する。負圧発生装置180の構成は、吸着ノズル170に負圧を発生させることができれば特に限定されず、既存のいかなる構成が用いられてもよい。例えば、負圧発生装置180は、空気を吸引することで負圧又は真空を発生する真空ポンプ又は空気圧シリンダの構成を有してもよく、圧縮空気を送入することで負圧又は真空を発生するエジェクタの構成を有してもよい。負圧発生装置180の動作は、ロボット制御装置600によって制御される。
 ロボット100A及び100Bはそれぞれ、アーム120及びエンドエフェクタ150を用いて、大サイズ区分の瓶WTL又はWCLを搬送し、アーム130及びエンドエフェクタ160を用いて、小サイズ区分の瓶WTS又はWCSを搬送する。
 図1及び図2に示すように、情報処理装置300は、入出力装置400A及び400Bと、撮像装置500と、ロボット制御装置600と、有線通信又は無線通信を介して接続される。以下において、2つの入出力装置を区別する場合は「入出力装置400A」及び「入出力装置400B」と表記し、区別しない場合は「入出力装置400」と表記する場合がある。ロボット制御装置600は、ロボット100A及び100Bのアーム駆動装置MA1~MA4及びMB1~MB4と、負圧発生装置180と、ベルトコンベヤ200のコンベヤモータ230と、情報処理装置300と、有線通信又は無線通信を介して接続される。有線通信及び無線通信の種類は特に限定されない。例えば、有線通信及び無線通信は、有線又は無線LAN(Local Area Network)を含んでもよい。
 ロボット制御装置600は、アーム駆動装置MA1~MA4及びMB1~MB4、負圧発生装置180並びにコンベヤモータ230の動作を制御する。例えば、ロボット制御装置600は、情報処理装置300からベルトコンベヤ200上の各瓶Wの情報を受け取る。瓶Wの情報は、瓶Wについて、色付き又は透明であるかの色区分、位置、サイズ及び姿勢等を含む。ロボット制御装置600は、各瓶Wの情報に基づき当該瓶を認識し、ロボット100A及び100Bのアーム120及び130並びにエンドエフェクタ150及び160の吸着ノズル170を動作させ、各瓶Wを分別させる。瓶の認識は、当該瓶の存在、色、位置、姿勢及びサイズ等を特定することである。ロボット制御装置600は、ロボット100A及び100B、負圧発生装置180及びベルトコンベヤ200等を互いに連携、協調及び/又は協働して動作させることができる。
 撮像装置500は、ロボット100A及び100Bに対する方向Dでの上流側において、ベルトコンベヤ200の上方に配置され、下方の搬送面221を撮像する。撮像装置500は、撮像した画像を情報処理装置300に出力する。撮像装置500は、情報処理装置300の制御に従って撮像するが、ロボット制御装置600の制御に従って撮像してもよい。撮像装置500は、デジタル画像を撮像するカメラであり、画像内の被写体までの距離等の3次元位置の検出を可能にするカメラである。このようなカメラの例は、ステレオカメラ、単眼カメラ、TOFカメラ(トフカメラ:Time-of-Flight-Camera)、縞投影等のパターン光投影カメラ、又は光切断法を用いたカメラである。本実施の形態では、撮像装置500はステレオカメラである。なお、本実施の形態では、撮像装置500の位置及び撮像方向と搬送面221の撮像対象部位との位置関係は固定され且つ既知であるため、撮像装置500が単なるカメラであっても、画像内の被写体の3次元位置の検出が可能である。
 入出力装置400A及び400Bはそれぞれ、ディスプレイと入力装置とを備え、本実施の形態では、ディスプレイの機能と入力装置の機能とを含むタッチスクリーン410を備える。ディスプレイの例は、液晶ディスプレイ(Liquid Crystal Display)及び有機又は無機ELディスプレイ(Electro-Luminescence Display)であるが、これらに限定されない。例えば、入出力装置400A及び400Bは、タッチスクリーン410を備えるディスプレイ装置、並びに、スマーフォン及びタブレットなどのスマートデバイス等であってもよい。入出力装置400A及び400Bはロボット100A及び100Bに対応して配置されている。入出力装置400A及び400Bは、タッチスクリーン410の画面上に、撮像装置500によって撮像された画像と、情報処理装置300によって生成される瓶指標とを重畳表示することができる。瓶指標は、対象物である瓶Wの情報を表す指標であり、対象物指標である。入出力装置400A及び400Bは、タッチスクリーン410へのユーザの指又はペン等の接触位置(「タップ位置」とも表記する)及び接触軌跡等を入力情報として取得し、情報処理装置300に出力する。
 情報処理装置300は、種々の情報を処理し出力する装置である。例えば、情報処理装置300は、撮像装置500によって撮像された画像を画像処理し入出力装置400A及び400Bに出力し表示させる。情報処理装置300は、ユーザである操作者Pが入出力装置400A及び400Bの画面を視て処理を行うことができるように、所定の時間間隔の撮像時刻の画像の処理画像を入出力装置400A及び400Bに出力する。
 具体的には、情報処理装置300は、撮像装置500によって撮像された画像を画像処理することで、当該画像に映し出される瓶Wの像である瓶像WIを抽出し、さらに実物の瓶Wの位置、サイズ、姿勢及び色区分等を含む瓶Wの情報を検出する。上記瓶Wの情報は、対象物情報の一例である。
 実物の瓶Wの位置の情報は、当該瓶Wの位置を特定できる情報であればよい。瓶Wの位置は、瓶Wのいかなる部位の位置であってもよく、3次元位置及び2次元位置のいずれで表されてもよい。例えば、瓶Wの3次元位置は、ロボットシステム1が存在する空間等に設定された3次元座標で表されてもよい。瓶Wの2次元位置は、ベルトコンベヤ200の搬送面221等を基準にした2次元座標で表されてもよい。本実施の形態では、実物の瓶Wの位置は、重心等の瓶Wの特定の点の3次元位置である。
 実物の瓶Wの姿勢の情報は、当該瓶Wの姿勢を特定できる情報であればよい。瓶Wの姿勢は、瓶Wのいかなる部位を基準とした姿勢であってもよく、3次元の姿勢及び2次元の姿勢のいずれで表されてもよい。例えば、瓶Wの3次元の姿勢は、瓶Wの3次元位置と同様の3次元座標で表されてもよく、瓶Wの2次元の姿勢は、瓶Wの2次元位置と同様の2次元座標で表されてもよい。本実施の形態では、瓶Wの姿勢は、瓶Wの向きであり、具体的には、瓶Wの底及び入口を結ぶ長手方向の向きである。
 実物の瓶Wのサイズの情報は、当該瓶Wの大きさの程度を特定できる情報であればよい。瓶Wのサイズは、瓶Wのいかなる部位のサイズであってもよく、3次元でのサイズ及び2次元でのサイズのいずれで表されてもよい。サイズは、例えば、寸法値、寸法値の変換値、寸法範囲、寸法範囲の変換値、及び、階級等であってもよい。階級は、寸法範囲毎に区分けされた階級であり、サイズ区分は階級の一例である。例えば、瓶Wの3次元でのサイズは、瓶Wの3次元位置と同様の3次元座標系でのサイズであってもよく、瓶Wの2次元のサイズは、瓶Wの2次元位置と同様の2次元座標系でのサイズであってもよい。本実施の形態では、瓶Wのサイズは、サイズ区分であり、具体的には、瓶Wの底及び入口を結ぶ長手方向での長さについてサイズ区分である。
 情報処理装置300は、瓶Wの情報をロボット制御装置600に出力する。さらに、情報処理装置300は、実物の瓶Wの位置、サイズ及び姿勢をタッチスクリーン410上で表すための瓶指標を生成し、当該瓶指標の画像データを入出力装置400A及び400Bに出力する。情報処理装置300は、透明瓶WTL及びWTSの瓶指標の画像データを入出力装置400Aに出力し、色付き瓶WCL及びWCSの瓶指標の画像データを入出力装置400Bに出力する。
 また、情報処理装置300は、タッチスクリーン410に入力された情報を入出力装置400A及び400Bから受け取り、当該情報を処理する。例えば、入出力装置400A及び400Bは、操作者Pの操作により新たな瓶指標を生成しタッチスクリーン410に表示させるための入力を受け付けることができる。さらに、入出力装置400A及び400Bは、タッチスクリーン410上に表示されている瓶Wの瓶指標に対して操作者Pの操作により修正又は削除するための入力を受け付けることができる。
 情報処理装置300は、入出力装置400A又は400Bから新規瓶指標を生成するための入力情報を受け取ると、当該入力情報に従って新規瓶指標の画像データを生成し入出力装置400A又は400Bに出力する。さらに、情報処理装置300は、新規瓶指標に対応する実物の瓶Wの位置、サイズ、姿勢及び色区分等を含む瓶Wの情報を検出しロボット制御装置600に出力する。
 情報処理装置300は、入出力装置400A又は400Bから瓶指標を修正又は削除するための入力情報を受け取ると、当該入力情報に従って修正又は削除された瓶指標の画像データを生成し入出力装置400A又は400Bに出力する。さらに、情報処理装置300は、修正又は削除された瓶指標に対応する実物の瓶Wの情報を検出しロボット制御装置600に出力する。
 本実施の形態では、情報処理装置300は、入出力装置400及びロボット制御装置600とは別個のコンピュータ装置である。例えば、情報処理装置300は、電子制御ユニット(ECU:Electronic Control Unit)及びパーソナルコンピュータ等であってもよい。しかしながら、情報処理装置300は、入出力装置400又はロボット制御装置600に組み込まれ一体化されていてもよい。
 [情報処理装置のハードウェア構成]
 図4は、実施の形態に係る情報処理装置300のハードウェア構成の一例を示すブロック図である。図4に示すように、情報処理装置300は、CPU(Central Processing Unit)301と、ROM(Read Only Memory)302と、RAM(Random Access Memory)303と、メモリ304と、撮像素子I/F(インタフェース:Interface)305と、画像プロセッサ306と、入出力I/F307~309とを構成要素として含む。上記構成要素はそれぞれ、バス、有線通信又は無線通信を介して接続されている。なお、上記構成要素の全てが必須ではない。
 例えば、CPU301はプロセッサであり、情報処理装置300の動作の全体を制御する。ROM302は不揮発性半導体メモリ等で構成され、CPU301に動作を制御させるためのプログラム及びデータ等を格納する。RAM303は揮発性半導体メモリ等で構成され、CPU301で実行するプログラム及び処理途中又は処理済みのデータ等を一時的に格納する。メモリ304は、揮発性メモリ及び不揮発性メモリなどの半導体メモリ、ハードディスク(HDD:Hard Disc Drive)及びSSD(Solid State Drive)等の記憶装置で構成される。
 例えば、CPU301が動作するためのプログラムは、ROM302又はメモリ304に予め保持されている。CPU301は、ROM302又はメモリ304からプログラムをRAM303に読み出して展開する。CPU301は、RAM303に展開されたプログラム中のコード化された各命令を実行する。
 情報処理装置300の各機能は、CPU301、ROM302及びRAM303等からなるコンピュータシステムにより実現されてもよく、電子回路又は集積回路等の専用のハードウェア回路により実現されてもよく、上記コンピュータシステム及びハードウェア回路の組み合わせにより実現されてもよい。
 このような情報処理装置300は、例えば、マイクロコントローラ、MPU(Micro Processing Unit)、LSI(Large Scale Integration:大規模集積回路)、システムLSI、PLC(Programmable Logic Controller)、論理回路等で構成されてもよい。情報処理装置300の複数の機能は、個別に1チップ化されることで実現されてもよく、一部又は全てを含むように1チップ化されることで実現されてもよい。また、回路はそれぞれ、汎用的な回路でもよく、専用の回路でもよい。LSIとして、LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、LSI内部の回路セルの接続及び/又は設定を再構成可能なリコンフィギュラブルプロセッサ、又は、特定用途向けに複数の機能の回路が1つにまとめられたASIC(Application Specific Integrated Circuit)等が利用されてもよい。
 撮像素子I/F305は、CPU301の指令に従って、撮像装置500の撮像素子(図示せず)の駆動を制御する。撮像素子I/F305は、撮像装置500によって撮像された画像のデータをRAM303又はメモリ304に取り込む。撮像素子I/F305は、撮像素子の駆動のための回路等を含んでもよい。
 画像プロセッサ306は、入出力装置400A及び400Bに表示する画面を生成可能なGPU(Graphics Processing Unit)を備える。画像プロセッサ306は、CPU301の指令に従って画面データを生成し、入出力装置400A及び400Bに出力する。例えば、画像プロセッサ306は、撮像装置500によって撮像された画像データを処理して生成された画像データ、並びに、入出力装置400A及び400Bに入力された情報に対応して生成された情報等を示す画面データを生成する。
 第1入出力I/F307は、画像プロセッサ306及び入出力装置400Aと接続され、入出力装置400Aに対して画面データ、情報及び指令等を入出力する。第2入出力I/F308は、画像プロセッサ306及び入出力装置400Bと接続され、入出力装置400Bに対して画面データ、情報及び指令等を入出する。第3入出力I/F309は、ロボット制御装置600と接続され、ロボット制御装置600に対して情報及び指令等を入出力する。入出力I/F307~309は、信号を変換する回路等を含んでもよい。
 [ロボット制御装置のハードウェア構成]
 図5は、実施の形態に係るロボット制御装置600のハードウェア構成の一例を示すブロック図である。図5に示すように、ロボット制御装置600は、CPU601と、ROM602と、RAM603と、メモリ604と、入出力I/F605と、アーム駆動回路606と、コンベヤ駆動回路607と、負圧駆動回路608と、開閉駆動回路609とを構成要素として含む。上記構成要素はそれぞれ、バス、有線通信又は無線通信を介して接続されている。なお、上記構成要素の全てが必須ではない。本実施の形態では、ロボット100A及び100Bに対して1つのロボット制御装置600が設けられるが、ロボット100A及び100Bに個別にロボット制御装置600が設けられてもよい。
 CPU601、ROM602、RAM603及びメモリ604それぞれの構成及び機能は、情報処理装置300のCPU301、ROM302、RAM303及びメモリ304と同様である。CPU601はロボット制御装置600の処理及び動作の全体を制御する。ロボット制御装置600の各機能は、CPU601、ROM602及びRAM603等からなるコンピュータシステムにより実現されてもよく、電子回路又は集積回路等の専用のハードウェア回路により実現されてもよく、上記コンピュータシステム及びハードウェア回路の組み合わせにより実現されてもよい。
 入出力I/F605は、情報処理装置300と接続され、情報処理装置300に対して情報及び指令等を入出力する。入出力I/F605は、信号を変換する回路等を含んでもよい。アーム駆動回路606は、CPU601の指令に従って、ロボット100A及び100Bのアーム駆動装置MA1~MA4及びMB1~MB4のサーボモータに電力を供給し各サーボモータの駆動を制御する。コンベヤ駆動回路607は、CPU601の指令に従って、ベルトコンベヤ200のコンベヤモータ230に電力を供給しコンベヤモータ230の駆動を制御する。負圧駆動回路608は、CPU601の指令に従って、負圧発生装置180に電力を供給し負圧発生装置180の駆動を制御する。
 開閉駆動回路609は、CPU601の指令に従って、開閉装置181~184の駆動を制御する。開閉装置181及び182はそれぞれ、配管系統181a及び182aを導通又は遮断する。配管系統181a及び182aはそれぞれ、ロボット100Aのエンドエフェクタ150及び160それぞれの吸着ノズル170と負圧発生装置180とを接続する。開閉装置183及び184はそれぞれ、配管系統183a及び184aを導通又は遮断する。配管系統183a及び184aはそれぞれ、ロボット100Bのエンドエフェクタ150及び160それぞれの吸着ノズル170と負圧発生装置180とを接続する。開閉装置181~184の例は電磁弁等で構成される開閉弁である。
 [情報処理装置の機能的構成]
 図6は、実施の形態に係る情報処理装置300の機能的構成の一例を示すブロック図である。図6に示すように、情報処理装置300は、撮像制御部3001と、画像処理部3002と、指標処理部3003及び3004と、画像合成部3005及び3006と、入力解析部3007及び3008と、変換部3009及び3010と、機能設定部3011と、記憶部3012とを機能的構成要素として含む。上記機能的構成要素の全てが必須ではない。
 記憶部3012を除く機能的構成要素の機能は、CPU301等によって実現され、記憶部3012の機能は、メモリ304、ROM302及び/RAM303によって実現される。
 記憶部3012は、種々の情報を記憶し、記憶している情報の読み出しを可能にする。記憶部3012は、撮像装置500のカメラパラメタ、ロボット100によって処理され得る対象の瓶の情報、瓶の色区分の色閾値、及び瓶のサイズ区分のサイズ閾値等を記憶する。瓶の情報は、処理され得る瓶の色、表面テクスチャ、輪郭形状及び当該輪郭形状の長手方向等の情報を含んでもよい。記憶部3012は、撮像装置500によって撮像された画像、当該画像の処理画像及び/又はプログラム等を記憶してもよい。
 カメラパラメタは、外部パラメータと内部パラメータとを含む。外部パラメータの例は、撮像装置500の位置(3次元位置)及び向き(光軸中心の向き)等を示すパラメータである。内部パラメータの例は、撮像装置500のレンズの歪み、焦点距離、撮像素子の1画素のサイズ及び光軸中心の画素座標等を示すパラメータである。画素座標は、画素を単位とする座標であり、画像上での2次元座標である。
 瓶の輪郭形状は、様々な方向から瓶を投影したときの投影面上での輪郭形状である。瓶の輪郭形状の長手方向は、当該瓶の口及び底を通る長手軸方向に対応し、当該瓶の向きを示す。瓶の輪郭形状及びその長手方向は、テンプレートとして記憶される。
 色閾値は、画素の輝度値での閾値であってもよい。例えば、瓶を表す画素の輝度値が色閾値以上であるか色閾値未満であるかに応じて、瓶が透明であるか色付きであるかが区分けされてもよい。なお、色区分は、2つに限定されず、3つ以上であってもよい。
 サイズ閾値は、瓶の実サイズの判定のための実サイズ閾値と、画像上での瓶のサイズの判定のための画像サイズ閾値とを含む。サイズ閾値は、瓶の長手方向の長さでの閾値であってもよい。例えば、瓶の長手方向の長さがサイズ閾値以上であるかサイズ閾値未満であるかに応じて、瓶が大サイズ区分であるか小サイズ区分であるかが区分けされてもよい。なお、サイズ区分は、2つに限定されず、3つ以上であってもよい。
 撮像制御部3001は、撮像装置500の動作を制御する。例えば、撮像制御部3001は、所定の時間間隔で、撮像装置500にベルトコンベヤ200の搬送面221を撮像させる。撮像制御部3001は、ステレオカメラである撮像装置500によって同時刻に撮像された2つの画像を対応付けて記憶部3012等に出力する。
 画像処理部3002は、第1~第3画像処理部の一例である。画像処理部3002は、撮像装置500によって同時刻に撮像された2つの画像を用いて、2つの画像それぞれに映し出される瓶像を特定し、当該瓶像の瓶の3次元の位置、サイズ及び姿勢を検出する。
 例えば、画像処理部3002は、2つの画像それぞれにおいてエッジを抽出し、抽出されたエッジと記憶部3012内の瓶の輪郭形状のテンプレートとをパターンマッチング手法等により比較することで、瓶のエッジを検出する。さらに、画像処理部3002は、2つの画像の少なくとも一方において、瓶のエッジによって囲まれる瓶像が表す色を検出し、記憶部3012内の色区分に基づき、当該瓶像を透明瓶像と色付き瓶像とに分類する。
 さらに、画像処理部3002は、2つの画像それぞれにおいて、各瓶像の2次元の重心位置、長手方向及び当該長手方向での長さを、2次元の重心位置、姿勢及びサイズとして検出する。例えば、瓶像の長手方向は、瓶像の底から入口に向かう方向であってもよい。なお、画像処理部3002は、瓶像に対応するテンプレートが示す輪郭形状の長手方向を、当該瓶像の長手方向としてもよい。
 さらに、画像処理部3002は、記憶部3012内のカメラパラメタを用いたステレオマッチング手法等により2つの画像を処理する。画像処理部3002は、各瓶像に対応する瓶、つまり実物の瓶について、ロボットシステム1が存在する3次元区間内での3次元の重心位置、長手方向及び当該長手方向での長さをそれぞれ、3次元の重心位置、姿勢及びサイズとして検出する。例えば、瓶の3次元の重心位置、姿勢及びサイズは、瓶像の2次元の重心位置、姿勢及びサイズを表す画素を画像処理することで検出されてもよい。
 画像処理部3002は、2つの画像の少なくとも一方における各透明瓶像について、当該透明瓶像に設定された識別情報であるIDと、当該透明瓶像の色区分と、当該透明瓶像の2次元の重心位置及び姿勢を示す画素座標と、当該透明瓶像に対応する透明瓶の3次元の重心位置、姿勢及びサイズとを対応付けて第1指標処理部3003に出力する。画像処理部3002は、2つの画像の少なくとも一方における各色付き瓶像について、当該色付き瓶像に設定された識別情報であるIDと、当色付き瓶像の色区分と、当色付き瓶像の2次元の重心位置及び姿勢を示す画素座標と、当該色付き瓶像に対応する色付き瓶の3次元の重心位置、姿勢及びサイズとを対応付けて第2指標処理部3004に出力する。
 また、画像処理部3002は、瓶像のエッジを抽出した2つの画像の一方を用いて、瓶像のエッジを強調した画像を生成する。画像処理部3002は、指標処理部3003及び3004に出力する瓶像の2次元の重心位置及び長手方向が検出された画像を用いる。画像処理部3002は、1つの画像から、透明瓶像のエッジのみが強調された第1画像と、色付き瓶像のエッジのみが強調された第2画像とを生成する。画像が透明瓶像のみを含む場合、画像処理部3002は、エッジを強調せずに第2画像を生成する。画像が色付き瓶のみを含む場合、画像処理部3002は、エッジを強調せずに第1画像を生成する。画像処理部3002は、第1画像を第1画像合成部3005に出力し、第2画像を第2画像合成部3006に出力する。本実施の形態では、画像処理部3002はエッジを太くすることによって当該エッジを強調する。エッジの強調方法は特に限定されず、エッジを目立つ色にする、エッジを光らせる、エッジを点滅させる等のいかなる方法であってもよい。
 例えば、図7は、実施の形態に係る情報処理装置300によって画像処理された画像の一例を示す図である。図7に示すように、撮像された画像I1が透明瓶像WTI及び色付き瓶像WCIを含む場合、第1画像I1Aでは、透明瓶像WTIのエッジのみが強調され、第2画像I1Bでは、色付き瓶像WCIのエッジのみが強調される。
 第1指標処理部3003は、透明瓶像の2次元の重心位置及び姿勢と、当該透明瓶像に対応する透明瓶の3次元のサイズとを用いて、当該透明瓶の情報を第1画像上で表すための瓶指標を生成する。第1指標処理部3003は、記憶部3012内の実サイズ閾値に基づき、透明瓶の3次元のサイズを大小のサイズ区分に分類する。第1指標処理部3003は、位置指標、姿勢指標及びサイズ指標を含む瓶指標の画像データを生成する。位置指標は透明瓶の2次元の重心位置を表し、姿勢指標は透明瓶の2次元の長手方向を表し、サイズ指標は透明瓶のサイズ区分を表す。
 図8は、実施の形態に係る情報処理装置300によって生成される瓶指標の第1重畳画像の画面の一例を示す図である。図8に示すように、本実施の形態では、第1指標処理部3003によって生成される瓶指標TBIの位置指標は、瓶像の重心位置が中心である円によって表される。姿勢指標は、位置指標の円の中心を起点として延びる矢印の向きによって表される。サイズ指標は、瓶指標TBIの表示方法の差異によって表される。例えば、瓶が大サイズ区分に属する場合、瓶指標TBIは一点鎖線で表示され、瓶が小サイズ区分に属する場合、瓶指標TBIは破線で表示される、瓶指標の表示方法の差異は、線種の差異に限定されず、色、明るさ、点滅等を用いた差異であってもよい。また、サイズ指標は、姿勢指標の矢印の長さの差異によって表されてもよい。
 第1指標処理部3003は、透明瓶像のIDと、当該透明瓶像に対応する透明瓶の瓶指標の画像データとを対応付けて第1画像合成部3005に出力する。瓶指標の画像データは、瓶指標の画像と、第1画像又は第2画像上での当該瓶指標の位置、姿勢及びサイズの情報とを含む。さらに、第1指標処理部3003は、上記透明瓶像のIDと、上記瓶指標に対応する透明瓶の3次元の重心位置、3次元の姿勢、サイズ区分及び色区分とを対応付けてロボット制御装置600に出力する。
 第2指標処理部3004は、第1指標処理部3003と同様に、色付き瓶像の2次元の重心位置及び姿勢と、当該色付き瓶像に対応する色付き瓶の3次元のサイズとを用いて、当該色付き瓶の情報を第2画像上で表すための瓶指標を生成する。第2指標処理部3004は、色付き瓶像のIDと、当該色付き瓶像に対応する色付き瓶の瓶指標の画像データとを対応付けて第2画像合成部3006に出力する。さらに、第2指標処理部3004は、上記色付き瓶像のIDと、上記瓶指標に対応する色付き瓶の3次元の重心位置、3次元の姿勢、サイズ区分及び色区分とを対応付けてロボット制御装置600に出力する。
 また、指標処理部3003及び3004はそれぞれ、入出力装置400A及び400Bへの入力情報に基づき、タッチスクリーン410に表示されている瓶指標を修正及び削除する処理、並びに、瓶指標を追加する処理を上述の処理と同様に行う。
 第1画像合成部3005は、第1画像と透明瓶の瓶指標の画像データとを用いて、第1画像と透明瓶の瓶指標の画像とを合成する。第1画像合成部3005は、当該瓶指標の画像を、画像データに含まれる当該瓶指標の位置、姿勢及びサイズの情報に従って第1画像上に重畳表示させる。第1画像合成部3005は、例えば、図8に示すような第1重畳画像I1Aaを生成して入出力装置400Aに出力しタッチスクリーン410に表示させる。瓶指標は、当該瓶指標に対応する瓶像上に重畳表示される。
 第2画像合成部3006は第1画像合成部3005と同様に、第2画像と、色付き瓶の瓶指標の画像データと、画像上での当該瓶指標の位置、姿勢及びサイズの情報とを用いて、第2画像上に色付き瓶の瓶指標を重畳表示させる画像を生成する。第2画像合成部3006は、例えば、図9に示すような第2重畳画像I1Baを生成して入出力装置400Bに出力しタッチスクリーン410に表示させる。図9は、実施の形態に係る情報処理装置300によって生成される瓶指標の第2重畳画像の画面の一例を示す図である。
 図6に示す入力解析部3007及び3008は、位置検出部、サイズ検出部、姿勢検出部の一例である。第1入力解析部3007は、入出力装置400Aのタッチスクリーン410に入力される入力情報を受け取って解析する。第2入力解析部3008は、入出力装置400Bのタッチスクリーン410に入力される入力情報を受け取って解析する。例えば、入力解析部3007及び3008は、入力情報を解析することで、表示中の瓶指標に対する修正指令及び削除指令、瓶指標の追加指令、並びに、各指令内容を検出する。第1入力解析部3007は、検出結果を第1指標処理部3003及び第1変換部3009に出力する。第2入力解析部3008は、検出結果を第2指標処理部3004及び第2変換部3010に出力する。
 入力解析部3007及び3008は、タッチスクリーン410上で瓶指標の位置指標である円の位置の修正指令を検出すると、画面上で指示される円の修正位置を検出し、当該修正位置での円の中心の画素座標を指示位置として検出する。入力解析部3007及び3008は、タッチスクリーン410上で姿勢指標である矢印の向きの修正指令を検出すると、画面上で指示される矢印の修正方向を検出し、当該修正方向での矢印の向きを示す画素座標、例えば、矢印のベクトル成分を指示姿勢として検出する。例えば、指示姿勢は、画面上でなされた指示が形成する軌跡に対応する方向を示してもよい。入力解析部3007及び3008は、タッチスクリーン410上でサイズ指標の修正指令を検出すると、画面上で指示される指示サイズを検出し、指示サイズに対応するサイズ区分(以下、「指示サイズ区分」とも表記する)を検出する。例えば、指示サイズは、画面上でなされた指示が形成する軌跡に対応するサイズであってもよい。入力解析部3007及び3008は、指示サイズと画像サイズ閾値との比較結果に基づき指示サイズ区分を決定する。入力解析部3007及び3008は、指示サイズが画像サイズ閾値以上である場合に指示サイズ区分を大サイズ区分に決定し、画像サイズ閾値未満である場合に指示サイズ区分を小サイズ区分に決定する。
 第1入力解析部3007は、瓶指標のIDと、当該瓶指標に対する指示位置、指示姿勢及び指示サイズ区分の組とを対応付けて、第1指標処理部3003及び第1変換部3009に出力する。瓶指標のIDは、瓶指標に対応する瓶像のIDである。第2入力解析部3008も同様に、瓶指標のIDと、当該瓶指標に対する指示位置、指示姿勢及び指示サイズ区分の組とを対応付けて、第2指標処理部3004及び第2変換部3010に出力する。指標処理部3003及び3004はそれぞれ、入力解析部3007及び3008から受け取った上記のような情報に基づき、位置指標、姿勢指標及びサイズ指標を修正することで瓶指標を修正し、修正後の瓶指標のID及び画像データを画像合成部3005及び3006に出力し、修正前の瓶指標を修正後の瓶指標に替えてタッチスクリーン410上に表示させる。
 例えば、図10は、実施の形態に係る情報処理装置300によって修正される瓶指標を表示する第1重畳画像の画面の一例を示す図である。図11は、実施の形態に係る情報処理装置300による修正後の瓶指標を表示する第1重畳画像の画面の一例を示す図である。図10に示すように、例えば、タッチスクリーン410上の透明瓶像WTIaの瓶指標TBIaの位置指標を修正する場合、瓶指標TBIaの円TBIa1の円周が、操作者の指等のタップにより選択され、タップ位置がスライドされることで、円TBIa1がタップ位置のスライド方向及びスライド量に対応する方向及び移動量で移動される。指がタッチスクリーン410から離されると、円TBIa1の移動が停止する。上記過程において、第1入力解析部3007は、円TBIa1の円周上のタップを位置指標の修正指令として検出し、タップ位置のスライド方向及びスライド量に対応して移動する円TBIa1の中心の画素座標を、指示位置として検出する。指示位置は、タップ位置が形成する軌跡に対応する位置である。第1指標処理部3003は、図11に示すように、中心と共に移動する円TBIa1の画像データを生成しタッチスクリーン410上に表示させる。
 また、図10に示すように、例えば、瓶指標TBIaの姿勢指標を修正する場合、瓶指標TBIaの矢印TBIa2が、指等のタップにより選択され、タップ位置が矢印TBIa2と交差する方向にスライドされることで、矢印TBIa2が指のスライド方向及びスライド量に対応する方向及び角度量で、円TBIa1の中心を中心として回動され、その向きを変える。指がタッチスクリーン410から離されると、矢印TBIa2の回動が停止する。上記過程において、第1入力解析部3007は、矢印TBIa2上のタップを姿勢指標の修正指令として検出し、タップ位置のスライド方向及びスライド量に対応して回動する矢印TBIa2のベクトルの画素座標を、指示姿勢として検出する。指示姿勢は、タップ位置が形成する軌跡に対応する方向である。第1指標処理部3003は、図11に示すように、ベクトルと共に回動する矢印TBIa2の画像データを生成しタッチスクリーン410上に表示させる。
 また、図10に示すように、例えば、透明瓶像WTIbの瓶指標TBIbのサイズ指標を修正する場合、瓶指標TBIbの矢印TBIb2が、指等のタップにより選択され、タップ位置が矢印TBIb2の軸方向にスライドされる。これにより、矢印TBIb2がタップ位置のスライド量に対応する距離でスライド方向に引き伸ばされる又は縮められ、その長さを変える。指がタッチスクリーン410から離されると、矢印TBIa2の長さが伸縮前の長さに戻る。
 上記過程において、第1入力解析部3007は、矢印TBIa2上のタップをサイズ指標の修正指令として検出し、矢印TBIb2の向きでの円TBIb1の中心からタップ位置までの距離を、指示サイズとして検出する。指示サイズは、タップ位置が形成する軌跡に対応するサイズである。さらに、第1入力解析部3007は、上記距離と画像サイズ閾値とを比較することで、指示サイズ区分を決定する。第1指標処理部3003は、上記距離に従って矢印TBIa2を伸縮させ且つ指示サイズ区分に対応して瓶指標の線種を変える瓶指標TBIbの画像データを生成し、タッチスクリーン410上に表示させる。図10では、瓶指標TBIbは、誤って検出された小サイズ区分を表す破線で表されるが、サイズ指標の修正後の図11では、瓶指標TBIbは、大サイズ区分を表す一点鎖線で表される。また、指の移動中でのサイズ区分の変化に応じて瓶指標の線種が変わるため、ユーザは、サイズ指標の修正動作中にサイズ区分を確認できる。
 さらに、図11に示すようなタッチスクリーン410上に表示されるボタン「決定」が、指等のタップにより選択されると、第1指標処理部3003は、現時点から直近に変更を受けた瓶指標に対して、当該瓶指標が受けた変更を決定する。上記変更は、瓶指標の修正、削除及び追加を含む。第1入力解析部3007は、変更が決定された瓶指標の位置指標、姿勢指標及びサイズ指標をIDと共に第1変換部3009に出力する。また、タッチスクリーン410上に表示されるボタン「元に戻す」が選択されると、第1指標処理部3003は、現時点から直近に変更を受けた瓶指標に対して、当該瓶指標が受けた変更を取り消し元の状態である変更前の状態に戻す。また、タッチスクリーン410上に表示されるボタン「やり直し」が選択されると、第1指標処理部3003は、ボタン「元に戻す」の選択により変更前の状態に戻された瓶指標に対して、取り消された変更を復活させ当該変更後の状態に戻す。第2指標処理部3004も、ボタンの選択に従って第1指標処理部3003と同様に動作する。
 第1入力解析部3007は、入出力装置400Aのタッチスクリーン410上で瓶指標の削除指令を検出すると、当該瓶指標のIDと当該瓶指標の削除指令とを第1指標処理部3003及び第1変換部3009に出力する。第2入力解析部3008は、入出力装置400Bのタッチスクリーン410上で瓶指標の削除指令を検出すると、当該瓶指標のIDと当該瓶指標の削除指令とを第2指標処理部3004及び第2変換部3010に出力する。指標処理部3003及び3004はそれぞれ、該当する瓶指標ID及びその画像の削除指令を画像合成部3005及び3006に出力し当該瓶指標の画面表示を削除させる。
 図12は、実施の形態に係る情報処理装置300によって削除される瓶指標を表示する第1重畳画像の画面の一例を示す図である。図13は、実施の形態に係る情報処理装置300による瓶指標の削除後の第1重畳画像の画面の一例を示す図である。図12では、色付き瓶像WCIcの瓶指標TBIcがタッチスクリーン410上に誤って表示され、削除対象である。そして、瓶指標TBIcの円TBIc1の円周の内側領域が、指等のタップにより選択されることで、瓶指標TBIcが削除される。上記過程において、第1入力解析部3007は、円TBIc1の円周の内側領域上のタップを瓶指標TBIcの削除指令として検出し、第1指標処理部3003は、図13に示すように、瓶指標TBIcの画像をタッチスクリーン410上から削除させる。
 入力解析部3007及び3008は、タッチスクリーン410上で瓶指標の位置指標の追加指令を検出すると、画面上で指示される位置の画素座標を指示位置として検出する。入力解析部3007及び3008は、タッチスクリーン410上で姿勢指標の追加指令を検出すると、画面上で指示される方向を示す画素座標を指示姿勢として検出する。入力解析部3007及び3008は、タッチスクリーン410上でサイズ指標の追加指令を検出すると、画面上で指示されるサイズを指示サイズとして検出する。さらに、入力解析部3007及び3008は、指示サイズが画像サイズ閾値以上である場合に指示サイズ区分を大サイズ区分に決定し、画像サイズ閾値未満である場合に指示サイズ区分を小サイズ区分に決定する。
 入力解析部3007及び3008はそれぞれ、新規瓶指標のIDと、当該瓶指標に対する指示位置、指示姿勢及び指示サイズ区分の組とを対応付けて、第1指標処理部3003及び第1変換部3009、並びに、第2指標処理部3004及び第2変換部3010に出力する。指標処理部3003及び3004はそれぞれ、入力解析部3007及び3008から受け取った上記のような情報に基づき、新規位置指標、新規姿勢指標及び新規サイズ指標を含む新規瓶指標を生成し、当該新規瓶指標のID及び画像データを画像合成部3005及び3006に出力しタッチスクリーン410上に表示させる。
 図14及び図15は、実施の形態に係る情報処理装置300によって瓶指標が追加される状態を表示する第1重畳画像の画面の一例を示す図である。図16は、実施の形態に係る情報処理装置300による瓶指標の追加後の第1重畳画像の画面の一例を示す図である。図14では、透明瓶像WTId上には瓶指標が誤って表示されておらず、透明瓶像WTIdが瓶指標の追加対象である。そして、新規瓶指標TBIdの新規位置指標の指示位置が、指等のタップにより透明瓶WTdの像上で指定され、新規位置指標の円TBId1が指示位置を中心として表示される。次いで、図15に示すように、タップしている指がスライドされた後にタッチスクリーン410から離されることで、図16に示すように、新規姿勢指標を示す矢印TBId2が、タップ位置のスライド方向に対応する方向で表示される。さらに、新規瓶指標TBIdは、タップ位置のスライド量に対応するサイズ区分のサイズ指標を示す線種である一点鎖線で表わされる。
 上記過程において、第1入力解析部3007は、瓶指標が存在しない位置でのタップを新規位置指標の追加指令として検出し、タップ位置の画像座標を指示位置として検出し、第1指標処理部3003は、指示位置の画素座標を新規位置指標の画素座標とする。第1入力解析部3007は、指示位置からのタップ位置の移動を新規姿勢指標及び新規サイズ指標の追加指令として検出する。第1入力解析部3007は、タップ位置の軌跡から、タップ位置のスライド方向を示す画素座標を指示姿勢として検出し、第1指標処理部3003は、指示姿勢の画素座標を新規姿勢指標の画素座標とする。第1入力解析部3007は、上記スライド方向での指示位置からタップ位置までの距離を、指示サイズとして検出し、指示サイズと画像サイズ閾値とを比較することで指示サイズ区分を決定する。第1指標処理部3003は、指示サイズ区分を新規サイズ指標が示すサイズ区分とする。さらに、第1指標処理部3003は、図16に示すように、新規位置指標、新規姿勢指標及び新規サイズ指標に基づき、新規瓶指標TBIdの画像データを生成しタッチスクリーン410上に表示させる。
 上記では、入出力装置400Aのタッチスクリーン410への入力情報に基づく第1入力解析部3007の処理内容を例示したが、第2入力解析部3008も、入出力装置400Bのタッチスクリーン410への入力情報に基づき、第1入力解析部3007と同様の処理を実行する。
 変換部3009及び3010は、位置情報検出部、サイズ情報検出部、姿勢情報検出部、出力部の一例である。変換部3009及び3010はそれぞれ、入力解析部3007及び3008から受け取った情報を変換して瓶の情報である対象物情報を検出し、当該対象物情報をロボット制御装置600に出力する。具体的には、変換部3009及び3010は、修正、削除又は追加対象の瓶指標に対する指示位置、指示姿勢及び指示サイズ区分を変換することで、上記瓶指標に対応する瓶の3次元の重心位置、3次元の姿勢及びサイズ区分を検出する。本実施の形態では、指示サイズ区分と瓶のサイズ区分とは同じ構成であるが、異なっていて互いに対応付けられていてもよい。上記検出は、画像から瓶像の瓶の3次元の位置、サイズ及び姿勢を検出するための画像処理部3002の演算と同様の演算等により可能である。変換部3009及び3010は、修正、削除又は追加された瓶指標に対応する瓶の3次元の重心位置、3次元の姿勢、サイズ区分及び色区分と当該瓶のIDとを対応付けて含む対象物情報を、ロボット制御装置600に出力する。ロボット制御装置600は、受け取った対象物情報を用いて瓶を認識しロボット100A及び100Bを制御する。
 機能設定部3011は、入出力装置400A及び400Bから受け取る指令に従って、情報処理装置300の機能を設定する。図17は、実施の形態に係る情報処理装置300の機能を設定する画面の一例を示す図である。例えば、図16に示すようなタッチスクリーン410に表示されるボタン「設定」が、指等のタップにより選択されると、機能設定部3011は、当該タッチスクリーン410に、例えば図17に示すような機能設定画面FSを表示させ、情報処理装置300の機能設定を受け付ける。機能設定画面FSは、少なくとも1つの設定項目を表示し、本実施の形態では、「検出レベル」、「円サイズ」及び「大小判定長さ」の設定項目を表示する。また、タッチスクリーン410に表示されるボタン「戻る」が選択されると、機能設定部3011は機能設定画面FSを閉じる。
 「検出レベル」は、撮像装置500によって撮像された画像における瓶の認識精度を設定するための項目であり、例えば、「高精度」、「標準」及び「低精度」の3つ精度レベルへの設定を可能にする。瓶の認識精度は、瓶自体の認識精度、並びに、瓶の色、形状、サイズ及び位置等の認識精度を含んでもよい。「円サイズ」は、瓶指標の位置指標を示す「円」のタッチスクリーン410上での表示サイズを設定するための項目であり、「大」、「中」及び「小」の3つのサイズレベルへの設定を可能にする。「大小判定長さ」は、瓶のサイズ区分の実サイズ閾値及び画像サイズ閾値を設定するための項目であり、「長」、「中」及び「短」の3つの長さレベルへの設定を可能にする。
 各項目のレベルの横に表示される逆三角形マークが選択されると、機能設定部3011は当該項目の設定可能なレベルを表示する。機能設定部3011は、表示されるレベルのうちから選択されたレベルを当該項目のレベルに決定し、情報処理装置300の各機能的構成要素に通知する。例えば、機能設定部3011は、決定された「検出レベル」を画像処理部3002に通知する。機能設定部3011は、決定された「円サイズ」を指標処理部3003及び3004に通知する。機能設定部3011は、決定された「大小判定長さ」を入力解析部3007及び3008、指標処理部3003及び3004等に通知する。
 <ロボットシステムの動作>
 実施の形態に係るロボットシステム1の動作を説明する。具体的には、ロボットシステム1が、ベルトコンベヤ200上の瓶をロボット制御装置600に認識させる動作を説明する。図18は、実施の形態に係るロボットシステム1の動作の一例を示すフローチャートである。
 図18に示すように、ステップS101において、情報処理装置300は、撮像装置500にベルトコンベヤ200の搬送面221を所定の時間間隔で撮像させ、撮像された画像データを受け取る。
 次いで、ステップS102において、情報処理装置300は、画像データを画像処理することで、透明瓶像のエッジが強調表示された第1画像と、色付き瓶像のエッジが強調表示された第2画像とを生成する。
 次いで、ステップS103において、情報処理装置300は、第1画像上の透明瓶像及び第2画像上の色付き瓶像の位置指標、姿勢指標及びサイズ指標を検出し、瓶指標を生成する。情報処理装置300は、透明瓶像の瓶指標を第1画像の瓶像の上に重畳表示する第1重畳画像を生成し、入出力装置400Aに表示させる。情報処理装置300は、色付き瓶像の瓶指標を第2画像の瓶像の上に重畳表示する第2重畳画像を生成し、入出力装置400Bに表示させる。本実施の形態では、第1重畳画像及び第2重畳画像は静止画像であるが、これに限定されず、動画像であってもよい。
 次いで、ステップS104において、情報処理装置300は、透明瓶像の瓶指標及び色付き瓶像の瓶指標それぞれに対応する実物の透明瓶の情報及び実物の色付き瓶の情報をロボット制御装置600に出力する。瓶の情報は、当該瓶のID、3次元の重心位置、3次元の姿勢、サイズ区分及び色区分を含む。ロボット制御装置600は、実物の透明瓶及び色付き瓶の情報に基づき各瓶を認識する。
 以下のステップS105以降では、情報処理装置300は、入出力装置400Aへの入力情報に対応した処理と、入出力装置400Bへの入力情報に対応した処理とを行うが、いずれも同様の処理であるため、入出力装置400Aへの入力情報に対応した処理のみを説明する。
 ステップS105において、情報処理装置300は、瓶指標を修正する入力、つまり修正指令を検出したか否かを判定し、検出した場合(ステップS105でYes)にステップS106に進み、検出していない場合(ステップS105でNo)にステップS108に進む。
 ステップS106において、情報処理装置300は、瓶指標の修正指令の内容に従って、当該瓶指標の位置指標、姿勢指標及び/又はサイズ指標を修正し、修正後の瓶指標を入出力装置400Aに表示させる。例えば図10に示すように、位置指標の修正は位置指標を表す円を移動させることで行われる。姿勢指標の修正は姿勢指標を表す矢印を回動させることで行われる。サイズ指標の修正は上記矢印を伸縮させることで行われる。
 次いで、ステップS107において、情報処理装置300は、修正後の瓶指標に対応する瓶のID、3次元の重心位置、3次元の姿勢、サイズ区分及び色区分を含む実物の瓶の情報を修正し、ロボット制御装置600に出力する。ロボット制御装置600は、ロボット100Aの処理対象の瓶の情報において、修正後の瓶指標に対応する瓶の情報を修正し、当該瓶を認識する。情報処理装置300は、ステップS114に進む。
 ステップS108において、情報処理装置300は、瓶指標を削除する入力、つまり削除指令を検出したか否かを判定し、検出した場合(ステップS108でYes)にステップS109に進み、検出していない場合(ステップS108でNo)にステップS111に進む。
 ステップS109において、情報処理装置300は、瓶指標の削除指令に従って、当該瓶指標を削除した画面を入出力装置400Aに表示させる。例えば図12に示すように、瓶指標の削除は、当該瓶指標の位置指標を表す円の内側領域を指定することで行われる。
 次いで、ステップS110において、情報処理装置300は、削除対象の瓶指標に対応する瓶の情報をロボット制御装置600に出力する。ロボット制御装置600は、削除対象の瓶の情報をロボット100Aの処理対象の瓶の情報から除外する。情報処理装置300は、ステップS114に進む。
 ステップS111において、情報処理装置300は、瓶指標を追加する入力、つまり追加指令を検出したか否かを判定し、検出した場合(ステップS111でYes)にステップS112に進み、検出していない場合(ステップS111でNo)にステップS114に進む。
 ステップS112において、情報処理装置300は、瓶指標の追加指令の内容に従って、新規瓶指標の位置指標、姿勢指標及びサイズ指標を検出し、当該新規瓶指標を入出力装置400Aに表示させる。例えば図14及び図15に示すように、瓶指標の追加は、新規位置指標を表す円の中心位置を指定した後に、新規姿勢指標及び新規サイズ指標に対応する矢印を上記中心位置から引き伸ばすことで行われる。
 次いで、ステップS113において、情報処理装置300は、新規瓶指標に対応する瓶のID、3次元の重心位置、3次元の姿勢、サイズ区分及び色区分を含む実物の瓶の情報を追加して検出しロボット制御装置600に出力する。ロボット制御装置600は、新規瓶指標に対応する瓶の情報をロボット100Aの処理対象の瓶の情報に加え、当該瓶を認識する。情報処理装置300は、ステップS114に進む。
 ステップS114において、情報処理装置300は、撮像装置500により新たに画像を撮像するタイミングであるか否かを判定し、当該タイミングである場合(ステップS114でYes)にステップS101に戻り、当該タイミングに未だ至っていない場合(ステップS114でNo)にステップS105に戻る。情報処理装置300は、計時するためのタイマ又はクロックを備えてもよい。
 上述のように、情報処理装置300は、撮像装置500により画像が撮像される毎に、当該画像を用いて第1重畳画像及び第2重畳画像を生成して表示し、各重畳画像に含まれる瓶指標それぞれに対応する瓶の3次元の重心位置、3次元の姿勢、サイズ区分及び色区分をロボット制御装置600に出力する。さらに、情報処理装置300は、瓶指標の修正、削除又は追加が行われると、修正、削除又は追加の瓶指標に対応する瓶の3次元の重心位置、3次元の姿勢、サイズ区分及び色区分等の情報をロボット制御装置600に出力する。操作者は、第1重畳画像及び第2重畳画像を画面上で視認して瓶指標の適正又は不適正を判断し、当該画面上で瓶指標の修正、削除又は追加を行うことができる。本実施の形態では、画面上でのタップ及びスライドのみの組み合わせにより、瓶指標の修正、削除及び追加が可能である。ロボット制御装置600は、情報処理装置300によって自動で検出された瓶の情報だけでなく、操作者によって修正、削除又は追加された瓶指標に対応する瓶の情報を用いて各瓶を認識しロボット100A及び100Bを制御できる。
 <効果等>
 実施の形態に係る情報処理装置300において、入力解析部3007及び3008は、位置検出部として機能し、対象物である瓶が映し出される画面上で指示される瓶の指示位置を検出し、サイズ検出部として機能し、画面上で指示される瓶の指示サイズを検出する。変換部3009及び3010は、位置情報検出部として機能し、指示位置に基づき瓶の実物の位置を検出し、サイズ情報検出部として機能し、指示サイズに基づき瓶の実物のサイズを検出し、出力部として瓶の実物の位置及びサイズの情報を含む対象物情報を出力する。指標処理部3003及び3004は、指示位置を表す位置指標と瓶の実物のサイズを表すサイズ指標とを生成し画面上に表示する。なお、入力解析部3007及び3008は、画面上でなされた指示が形成する軌跡に対応するサイズを指示サイズとして検出してもよい。
 上記構成によると、情報処理装置300は、瓶が映し出される画面上で指示される瓶の位置及びサイズに基づき、瓶の実物の位置及びサイズを検出し出力する。よって、情報処理装置300は、画像に含まれる瓶の実物を認識するための画面上での設定を可能にする。さらに、情報処理装置300は、瓶の位置指標及びサイズ指標、つまり、指示された内容を表す指標を生成し画面上に表示する。よって、画面上での瓶の位置及びサイズの認識が容易になる。
 また、変換部3009及び3010は、対象物情報を、瓶の実物に対する処理作業を行うロボット100A及び100Bを制御するロボット制御装置600に出力してもよい。上記構成によると、ロボット制御装置600は、対象物情報を用いて瓶の実物を認識し、認識結果に基づきロボット100A及び100Bに瓶の処理作業を行わせることができる。よって、ロボット100A及び100Bの作業精度の向上が可能になる。
 また、実施の形態に係る情報処理装置300において、画像処理部3002は、第1画像処理部として機能し、瓶が映し出される画像を処理することで当該画像から瓶を抽出し、抽出された瓶の実物の位置及びサイズを検出してもよい。さらに、指標処理部3003及び3004は、画像処理部3002によって検出された瓶の実物の位置及びサイズに対応する位置指標及びサイズ指標を生成し表示してもよい。上記構成によると、情報処理装置300は、瓶が映し出される画像を処理することで、当該瓶の位置指標及びサイズ指標を自動で生成し表示することができる。
 また、入力解析部3007及び3008は、画面上で加えられる位置指標への修正又は削除の指示を検出し、当該指示に従って指示位置を修正又は削除してもよい。さらに、変換部3009及び3010は、修正又は削除された指示位置に基づき、瓶の実物の位置の情報を修正又は削除し、当該位置の情報を含む対象物情報を出力してもよい。さらに、指標処理部3003及び3004は、修正又は削除された指示位置に基づき、位置指標を修正又は削除してもよい。上記構成によると、情報処理装置300は、画面上に表示されている位置指標に対する修正及び削除を受け付け、当該修正及び削除を当該位置指標及び当該位置指標に対応する瓶の実物の位置の情報に反映することができる。
 また、入力解析部3007及び3008は、画面上で加えられるサイズ指標への修正又は削除の指示を検出し、当該指示に従って指示サイズを修正又は削除してもよい。さらに、変換部3009及び3010は、修正又は削除された指示サイズに基づき、瓶の実物のサイズの情報を修正又は削除し、当該サイズの情報を含む対象物情報を出力してもよい。さらに、指標処理部3003及び3004は、修正又は削除された瓶の実物のサイズに基づき、サイズ指標を修正又は削除してもよい。上記構成によると、情報処理装置300は、画面上に表示されているサイズ指標に対する修正及び削除を受け付け、当該修正及び削除を当該サイズ指標及び当該サイズ指標に対応する瓶の実物のサイズの情報に反映することができる。
 実施の形態に係る情報処理装置300において、入力解析部3007及び3008は、位置検出部として機能し、瓶が映し出される画面上での瓶の指示位置を検出し、姿勢検出部として機能し、画面上で指示される瓶の指示姿勢を検出する。変換部3009及び3010は、位置情報検出部として機能し、指示位置に基づき瓶の実物の位置を検出し、姿勢情報検出部として機能し、指示姿勢に基づき瓶の実物の姿勢を検出し、瓶の実物の位置及び姿勢の情報を含む対象物情報を出力する。指標処理部3003及び3004は、指示位置を表す位置指標と指示姿勢を表す姿勢指標とを生成し画面上に表示する。なお、入力解析部3007及び3008は、画面上でなされた指示が形成する軌跡に対応する方向を指示姿勢として検出してもよい。
 上記構成によると、情報処理装置300は、瓶が映し出される画面上で指示される瓶の位置及び姿勢に基づき、瓶の実物の位置及び姿勢を検出し出力する。よって、情報処理装置300は、画像に含まれる瓶の実物を認識するための画面上での設定を可能にする。さらに、情報処理装置300は、瓶の位置指標及び姿勢指標を生成し画面上に表示するため、画面上での瓶の位置及び姿勢の認識を容易にする。
 さらに、入力解析部3007及び3008は、画面上で指示される瓶の指示サイズを検出し、変換部3009及び3010は、当該指示サイズに基づき、瓶の実物のサイズを検出し、当該サイズの情報をさらに含む対象物情報を出力してもよい。さらに、指標処理部3003及び3004は、瓶のサイズ指標をさらに生成し画面上に表示してもよい。上記構成によると、情報処理装置300は、画面上で指示された指示位置、指示姿勢及び指示サイズに基づき、瓶の実物の位置、姿勢及びサイズを検出し出力する。よって、情報処理装置300は、実物の瓶の認識精度を向上する。さらに、情報処理装置300は、瓶の位置指標、姿勢指標及びサイズ指標を生成し画面上に表示するため、画面上での瓶の位置、姿勢及びサイズの認識を容易にする。
 また、画像処理部3002は、瓶が映し出される画像を処理することで当該瓶の実物の位置及び姿勢し、指標処理部3003及び3004は、当該瓶の実物の位置及び姿勢に対応する位置指標及び姿勢指標を生成し表示してもよい。上記構成によると、情報処理装置300は、瓶が映し出される画像を処理することで、当該瓶の位置指標及び姿勢指標を自動で生成し表示することができる。
 さらに、画像処理部3002は、第2画像処理部として機能し、瓶が映し出される画像を処理することで当該瓶の実物のサイズを検出し、指標処理部3003及び3004は、当該瓶の実物のサイズに対応するサイズ指標を生成し表示してもよい。上記構成によると、情報処理装置300は、瓶が映し出される画像を処理することで、当該瓶の位置指標、姿勢指標及びサイズ指標を自動で生成し表示することができる。
 また、入力解析部3007及び3008は、画面上で加えられる姿勢指標への修正又は削除の指示を検出し、当該指示に従って指示姿勢を修正又は削除してもよい。さらに、変換部3009及び3010は、修正又は削除された指示姿勢に基づき、瓶の実物の姿勢の情報を修正又は削除し、当該姿勢の情報を含む対象物情報を出力してもよい。さらに、指標処理部3003及び3004は、修正又は削除された指示姿勢に基づき姿勢指標を修正又は削除してもよい。上記構成によると、情報処理装置300は、画面上に表示されている姿勢指標に対する修正及び削除を受け付け、当該修正及び削除を当該姿勢指標及び当該姿勢指標に対応する瓶の実物の姿勢の情報に反映することができる。
 また、実施の形態に係る設定装置10は、情報処理装置300と、入出力装置400A及び400Bとを備え、入出力装置400A及び400Bは、画面を表示するディスプレイと、指示の入力を受け付け情報処理装置300に出力する入力装置とを備える。例えば、入出力装置400A及び400Bは、ディスプレイの機能と入力装置の機能とを含むタッチスクリーン410を備えてもよい。上記構成によると、実施の形態に係る情報処理装置300と同様の効果が得られる。さらに、設定装置10は、画像に含まれる瓶の実物を認識するための設定の入力を可能にする。
 また、実施の形態に係る画像認識システム20は、設定装置10と、瓶の実物を撮像し且つ撮像された画像を設定装置10に出力する撮像装置500とを備える。上記構成によると、実施の形態に係る情報処理装置300と同様の効果が得られる。さらに、画像認識システム20は、瓶の実物を撮像し、撮像された画像に含まれる瓶の実物を認識するための設定を可能にする。
 また、実施の形態に係る画像認識システム20において、情報処理装置300の画像処理部3002は、第3画像処理部として機能し、瓶の実物が撮像された画像を処理することで当該瓶の実物の位置、サイズ及び姿勢を検出してもよい。さらに、指標処理部3003及び3004は、画像処理部3002によって検出された瓶の実物の位置、サイズ及び姿勢に対応する位置指標、サイズ指標及び姿勢指標を生成しディスプレイの画面上に表示してもよい。上記構成によると、画像認識システム20は、撮像装置500によって撮像された画像を用いて、瓶の位置指標、姿勢指標及びサイズ指標を自動で生成し表示することができる。
 また、実施の形態に係るロボットシステム1は、画像認識システム20と、瓶の実物に対する処理作業を行うロボット100A及び100Bと、ロボット100A及び100Bを制御するロボット制御装置600とを備え、ロボット制御装置600は、情報処理装置300から出力される対象物情報を用いて、瓶の実物を認識し、ロボット100A及び100Bに瓶の実物を処理させる。上記構成によると、ロボットシステム1は、撮像装置500によって撮像された画像を用いて、実物の瓶の位置、姿勢及びサイズを自動で検出し、ロボット100A及び100Bの制御に適用することができる。さらに、ロボットシステム1は、入出力装置400A及び400Bの画面を介して、瓶の位置指標、姿勢指標及び/又はサイズ指標の設定を受け付け、受け付けた設定を実物の瓶の位置、姿勢及びサイズに反映することができる。よって、ロボットシステム1は、ロボット100A及び100Bの高精度な制御を可能にする。
 <その他の実施の形態>
 以上、本開示の実施の形態の例について説明したが、本開示は、上記実施の形態に限定されない。すなわち、本開示の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれる。
 例えば、実施の形態において、対象物指標である瓶指標は、位置指標、姿勢指標及びサイズ指標を含むが、対象物指標が含む指標はこれに限定されない。対象物指標は、位置指標、姿勢指標及びサイズ指標の少なくとも1つを含んでもよい。例えば、対象物指標は、対象物の位置が予め既知である場合に位置指標を含まなくてもよく、対象物が球体のように向きを有しない場合に姿勢指標を含まなくてもよく、各対象物のサイズが同一である場合にサイズ指標を含まなくてもよい。さらに、情報処理装置300が処理する対象物情報は、対象物の実物の位置、姿勢及びサイズの情報の少なくとも1つを含んでもよい。
 また、実施の形態において、瓶指標に対する修正、削除及び追加の情報を入出力装置400A及び400Bに入力する方法として、指又はペン等によるタッチスクリーン410へのタップ及びスライドの組み合わせの入力方法が用いられるが、これに限定されない。位置、方向及び距離を検出することができる入力方法であればよい。例えば、方向及び距離の入力は、起点位置及び終点位置を指定する入力であってもよい。
 また、実施の形態において、情報処理装置300の入力解析部3007及び3008は、タッチスクリーン410に入力される指示サイズのサイズ区分を検出し、変換部3009及び3010に出力するが、これに限定されない。例えば、変換部3009及び3010が、入力解析部3007及び3008から受け取る指示サイズからサイズ区分を検出してもよい。また、サイズ区分が用いられなくてもよい。例えば、入力解析部3007及び3008が変換部3009及び3010に指示サイズを出力し、変換部3009及び3010が、指示サイズを用いて実物の瓶のサイズを検出してもよい。
 また、実施の形態において、入出力装置400A及び400Bは、画面表示し且つ瓶指標に対する修正、削除及び追加の情報の入力を受け付けるために、タッチスクリーン410を備えるが、これに限定されない。例えば、入出力装置400A及び400Bは、画面表示するディスプレイと、入力を受け付ける入力装置とを分離して備えてもよい。例えば、入出力装置400A及び400Bは、入力装置に入力される指令に従って、ディスプレイ画面上のポインタ及びカーソル等の指示要素を動作させるように構成されてもよい。入力装置は、例えば、十字ボタン、プッシュスイッチ、レバー、ダイヤル、ジョイスティック、マウス、キー等を含む装置であってもよい。
 また、実施の形態において、情報処理装置300は、撮像装置500によって撮像された同一の画像を処理し、透明瓶のエッジが強調された第1画像と、色付き瓶のエッジが強調された第2画像とを生成するが、これに限定されない。例えば、複数の撮像装置500がロボット100に対応して設けられてもよい。そして、情報処理装置300は、第1ロボット100Aに対応する第1撮像装置500によって撮像された画像を処理して第1画像を生成し、第2ロボット100Bに対応する第2撮像装置500によって撮像された画像を処理して第2画像を生成してもよい。
 また、複数の情報処理装置300が、ロボット100に対応させる等により設けられてもよい。例えば、第1ロボット100Aに対応する第1情報処理装置300は第1画像に関する処理を行い、第2ロボット100Bに対応する第2情報処理装置300は第2画像に関する処理を行ってもよい。
 また、実施の形態において、ロボット100は、水平多関節型の産業用ロボットであるが、これに限定されない、ロボット100は、例えば、垂直多関節型ロボット、極座標型ロボット、円筒座標型ロボット、直角座標型ロボット、又はその他の産業用ロボットとして構成されてもよい。ロボット100は、産業用ロボット以外であってもよく、サービスロボット、建設機械、クレーン、荷役搬送車、及びヒューマノイド等であってもよい。サービスロボットは、介護、医療、清掃、警備、案内、救助、調理、商品提供等の様々なサービス業で使用されるロボットである。
 また、本開示の技術は、設定方法であってもよい。例えば、本開示の一態様に係る設定方法は、画面上に映し出される対象物の実物を認識するための前記対象物の位置及びサイズの設定方法であって、前記画面上で指示される前記対象物の位置である指示位置を検出し、前記画面上で指示される前記対象物のサイズである指示サイズを検出し、前記指示位置に基づき、前記対象物の実物の位置を検出し、前記指示サイズに基づき、前記対象物の実物のサイズを検出し、前記指示位置を表す位置指標と前記対象物の実物のサイズを表すサイズ指標とを生成し前記画面上に表示し、前記対象物の実物の位置及びサイズの情報を含む対象物情報を出力する。
 また、本開示の別の一態様に係る設定方法は、画面上に映し出される対象物の実物を認識するための前記対象物の位置及び姿勢の設定方法であって、前記画面上で指示される前記対象物の位置である指示位置を検出し、前記画面上で指示される前記対象物の姿勢である指示姿勢を検出し、前記指示位置に基づき、前記対象物の実物の位置を検出し、前記指示姿勢に基づき、前記対象物の実物の姿勢を検出し、前記指示位置を表す位置指標と前記指示姿勢を表す姿勢指標とを生成し前記画面上に表示し、前記対象物の実物の位置及び姿勢の情報を含む対象物情報を出力する。
 本開示の別の一態様に係る設定方法において、前記画面上で指示される前記対象物のサイズである指示サイズを検出し、前記指示サイズに基づき、前記対象物の実物のサイズを検出し、前記対象物の実物のサイズを表すサイズ指標をさらに生成し前記画面上に表示し、前記対象物の実物のサイズの情報をさらに含む前記対象物情報を出力してもよい。
 上記設定方法によれば、上記情報処理装置300等と同様の効果が得られる。このような設定方法は、CPU、LSIなどの回路、ICカード又は単体のモジュール等によって、実現されてもよい。
 また、本開示の技術は、上記設定方法を実行するためのプログラムであってもよく、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
 また、上記で用いた序数、数量等の数字は、全て本開示の技術を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。また、構成要素間の接続関係は、本開示の技術を具体的に説明するために例示するものであり、本開示の機能を実現する接続関係はこれに限定されない。
 また、機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、及び/又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
[変形例]
 以下、実施の形態の変形例について説明する。本例では、上記図6に示す情報処理装置300の画像処理部3002が、機械学習により予め生成された学習済みモデルを用いて、撮像装置500により生成されたカメラ画像から瓶の位置、色、及びサイズ等を検出することで、認識精度の向上を実現する。
 以下の説明では、学習済みモデルを生成する学習フェーズ、学習済みモデルを使用する運用フェーズ、及び学習済みモデルの再学習について、それぞれ詳しく説明する。
(1)学習フェーズ
 図19は、学習装置700の機能的構成例を示すブロック図である。図20は、学習用DB(データベース)710の内容例を示す図である。
 学習装置700は、学習用DB710に保存された学習用データセットを用いて、画像中の瓶の位置、色、及びサイズを推定するための学習済みモデルを生成する。
 学習装置700は、CPU、RAM、ROM、不揮発性メモリ、及び入出力インタフェース等を含むコンピュータである。学習装置700のCPUは、ROM又は不揮発性メモリからRAMにロードされたプログラムに従って情報処理を実行する。
 学習装置700は、取得部701及び学習部702を備える。これらの機能部は、学習装置700のCPUがプログラムに従って情報処理を実行することによって実現される。
 取得部701は、学習用DB710から学習用データセットを取得する。
 学習部702は、取得部701により取得された学習用データセットを用いて、画像中の瓶の位置、色、及びサイズを推定するための学習済みモデルを機械学習により生成する。
 図20に示すように、学習用DB710には、学習用画像、クラス、及び位置が互いに関連付けられた学習用データセットが記憶される。学習用画像は、入力データとして用いられる。クラス及び位置は、教師データとして用いられる。
 学習用画像は、対象物である瓶の像を含んだ画像である。学習用画像は、例えばベルトコンベヤ200上の瓶Wを撮影する撮像装置500(図1参照)によって生成された画像である。これに限らず、学習用画像は、他の場所で瓶を撮影した画像であってもよい。
 クラス及び位置は、学習用画像に含まれる瓶のクラス及び位置である。瓶のクラス及び位置は、例えば人によって判断され、入力される。
 瓶のクラスは、例えば「透明瓶・大」、「透明瓶・小」、「色付き瓶・大」、及び「色付き瓶・小」等に分けられる。透明瓶であるか色付き瓶であるかは、瓶の色を表す。大であるか小であるかは、瓶のサイズを表す。瓶の色及びサイズは、瓶の属性の一例である。
 瓶の位置は、学習用画像中の瓶の位置であり、例えば瓶を含む境界ボックスの座標で表される。境界ボックスの座標は、左上端のxy座標、幅、及び高さを含んでいる。これに限らず、瓶の位置は、例えば中心位置等の代表点の座標で表されてもよい。代表点は、学習用画像中の瓶の像の中の1点である。
 図21は、学習装置700において実現される、学習済みモデルの生成処理の手順例を示す図である。学習済みモデルの生成処理は、ユーザの操作によって開始される。図22は、学習済みモデルの生成処理を説明するための図である。同図では、図21の各処理に対応する箇所に、処理のステップ番号を付す。
 本例では、例えば SSD(Single Shot MultiBox Detector)等の物体検出モデルMDLが用いられる。物体検出モデルMDLの出力層には、クラス(Class name)、境界ボックスの座標(Bounding Box (x,y,w,h))、及び確度(Confidence)の要素が設けられる。SSD に限らず、Mask R-CNN 又は YOLO(You Only Look Once)等が用いられてもよい。
 物体検出モデルMDLに限らず、画像の領域分割を行う Semantic Segmentation 又は Instance Segmentation 等の領域分割モデルが用いられてもよいし、画像中の特徴点を検出する Keypoint Detection 等の特徴点検出モデルが用いられてもよい。
 図21に示すように、ステップS21において、取得部701は、学習用画像、クラス、及び位置を含む学習用データセットを学習用DB710から取得する
 ステップS22において、学習部702は、学習用画像LPを入力データIPDとして物体検出モデルMDLに入力する。ステップS23において、学習部702は、物体検出モデルMDLによる計算を行う。ステップS24において、学習部702は、物体検出モデルMDLからクラス、位置、及び確度を出力データOPDとして出力する。クラスは、瓶の色及びサイズを表す。
 ステップS25において、学習部702は、出力データOPDとしてのクラス及び位置と、教師データTRDとしてのクラス及び位置との誤差を算出する。ステップS26において、学習部702は、誤差を低減するように誤差逆伝播計算を行う。
 以上の手順を繰り返すことにより、画像中の瓶の位置、色、及びサイズを推定するための学習済みモデル(すなわち、学習済みの物体検出モデル)が生成される。生成された学習済みモデルは、以下に説明する運用フェーズにおいて使用される。
(2)運用フェーズ
 図23は、ロボットシステム1において実現される、学習済みモデルを用いた識別処理の手順例を示す図である。識別処理は、撮像装置500がベルトコンベヤ200上の瓶Wを撮像すると開始される。図24は、学習済みモデルを用いた識別処理を説明するための図である。なお、以下の説明では、上記図6に示す情報処理装置300の各機能部との関係についても言及する。
 ステップS31において、情報処理装置300は、撮像装置500により生成されたカメラ画像CPを取得する(撮像制御部3001としての処理)。
 ステップS32において、情報処理装置300は、上述の学習フェーズにおいて生成された学習済みモデルLMDLを用いて、カメラ画像CP中の瓶の位置、色、及びサイズを推定する(画像処理部3002としての処理)。
 具体的には、情報処理装置300は、図24に示すように、カメラ画像CPを入力データIPDとして学習済みモデルLMDLに入力し、学習済みモデルLMDLによる計算を行い、クラス、位置、及び確度を出力データOPDとして出力する。クラスは、瓶の色及びサイズを表す。位置は、瓶を含む境界ボックスの座標を表す。また、情報処理装置300は、境界ボックスの座標に基づいて、境界ボックスの中心位置等の代表点の座標を算出し、それを瓶の位置としてもよい。
 これに限らず、画像中の特徴点を検出するKeypoint Detection 等の領域分割モデルを用いて、カメラ画像CP中の瓶の代表点の座標を直接的に推定してもよい。また、画像の領域分割を行う Semantic Segmentation 等の領域分割モデルを用いて、カメラ画像中の瓶の領域を推定し、領域の中心位置等の代表点の座標を算出し、それを瓶の位置としてもよい。
 ステップS33において、情報処理装置300は、推定された瓶の位置、色、及びサイズに基づいて、瓶指標を生成する(指標処理部3003,3004としての処理)。
 具体的には、情報処理装置300は、推定された瓶の色が透明瓶である場合に、透明瓶の瓶指標を生成する(第1指標処理部3003としての処理)。また、情報処理装置300は、推定された瓶の色が色付き瓶である場合に、色付き瓶の瓶指標を生成する(第2指標処理部3004としての処理)。瓶指標は、推定された瓶の位置に基づく位置指標と、推定された瓶のサイズに基づくサイズ指標とを含んでいる。
 ステップS34において、情報処理装置300は、入出力装置400A,400Bのタッチスクリーン410にカメラ画像と瓶指標を表示する(画像合成部3005,3006としての処理)。
 具体的には、情報処理装置300は、カメラ画像と透明瓶の瓶指標の画像とを合成し、入出力装置400Aに出力する(第1画像合成部3005としての処理)。また、情報処理装置300は、カメラ画像と色付き瓶の瓶指標の画像とを合成し、入出力装置400Bに出力する(第2画像合成部3006としての処理)。合成された画像は、例えば上記図8及び図9に示した重畳画像と同様である。なお、カメラ画像と瓶指標の画像とを並べて表示してもよい。
 ステップS35において、情報処理装置300は、表示された瓶指標に対する修正の指示がない場合に(S35:NO)、ステップS36に移行する。ステップS36において、情報処理装置300は、ステップS31において取得されたカメラ画像と、ステップS32において推定された瓶の位置、色およびサイズとを保存する。
 ステップS37において、情報処理装置300は、瓶指標に対応する瓶情報をロボット制御装置600に出力する(指標処理部3003,3004としての処理)。瓶情報は、瓶の位置、色、及びサイズ等の情報を含んでいる。
 一方、ステップS35において、情報処理装置300は、表示中の瓶指標に対する修正の指示があった場合には(S35:YES)、ステップS38に移行する。ステップS38において、情報処理装置300は、修正の指示に基づいて、瓶の位置、色、及びサイズのうちの少なくとも1つを修正する(入力解析部3007,3008としての処理)。
 具体的には、情報処理装置300は、入出力装置400A,400Bのタッチスクリーン410に入力された入力情報を解析することにより、表示中の瓶指標に対する修正の指示を検出する。瓶指標に対する修正は、例えば上記図10~図16に示した瓶指標の修正等と同様である。ここでは、瓶指標に対する修正とは、瓶指標の削除及び追加も含むものとする。
 ステップS39において、情報処理装置300は、修正内容を保存する(保存処理部としての処理)。具体的には、情報処理装置300は、修正された瓶の位置、色、及びサイズのうちの少なくとも1つをカメラ画像と関連付けて、記憶部3012に構築された修正保存DB(データベース)3013に保存する。
 図25は、修正保存DB3013の内容例を示す図である。修正保存DB3013では、カメラ画像に瓶の位置、色、及びサイズが関連付けられており、瓶の位置、色、及びサイズのうちの少なくとも1つが修正されたものである。
 例えば瓶の位置が修正された場合、情報処理装置300は、修正された瓶の位置を、カメラ画像並びに修正されていない瓶の色及びサイズと関連付けて保存する。
 修正保存DB3013に保存される項目は、学習用データベース710(図20参照)に保存される項目と対応する。すなわち、カメラ画像は学習用画像に対応し、瓶の位置は位置に対応し、瓶の色及びサイズはクラスに対応する。
 ステップS39の実行後、上述のステップS36およびS37が実行される。なお、ステップS36、ステップS37、ステップS38は、並行して実行されてもよい。
(3)再学習
 学習済みモデルの再学習は、修正保存DB3013に保存された修正内容を用いて、上記図19に示した学習装置700により行われる。
 学習装置700の取得部701は、修正保存DB3013からカメラ画像、瓶の位置、色、及びサイズを取得する。学習装置700の学習部702は、カメラ画像を入力データとし、瓶の位置、色、及びサイズを教師データとして学習済みモデルの再学習を行う。再学習の具体的な処理については、上記図21及び図22に示した処理と同様であるため、詳細な説明を省略する。
 以上に説明した変形例において、学習装置700は、学習用画像LPを入力データIPDとし、学習用画像LP中の瓶の位置及び属性を教師データTRDとして、カメラ画像CP中の瓶の位置及び属性を推定するための学習済みモデルを機械学習により生成する。これによれば、認識精度の向上を図るための学習済みモデルを生成することができる。
 また、変形例において、情報処理装置300は、学習装置700により生成された学習済みモデルLMDLを用いて、カメラ画像CPから瓶の位置及び属性を検出する。これによれば、学習済みモデルを用いることで、認識精度の向上を図ることができる。
 また、変形例において、情報処理装置300は、画面上で加えられた瓶指標への修正指示に従って修正された瓶の位置、色、及びサイズのうちの少なくとも1つをカメラ画像CPと関連付けて保存する。これによれば、ユーザによって判断・入力された修正内容を、再学習に用いることができる。
 また、変形例において、学習装置700は、情報処理装置300により保存されたカメラ画像CPを入力データとし、修正された瓶の位置、色、及びサイズのうちの少なくとも1つを教師データとして、学習済みモデルLMDLの再学習を行う。これによれば、ユーザによって判断・入力された修正内容を用いて再学習を行うので、学習済みモデルの認識精度のさらなる向上を図ることができる。
 以上に説明した変形例では、画像処理によって検出される瓶の属性の例として瓶の色及びサイズを挙げたが、瓶の属性はこれらに限られるものではない。瓶の属性としては、例えば瓶のサイズ、姿勢、色、又は状態などがある。
 例えば、上記実施形態のように瓶の姿勢が、瓶の属性として用いられてもよい。また、瓶が割れている又はラベルが貼られている等の瓶の状態が、瓶の属性として用いられてもよい。
 なお、上記図6に示す情報処理装置300において、入力解析部3007,3008は、指示属性を検出する属性検出部の例であり、変換部3009,3010は、実物の属性を検出する属性情報検出部の例である。
 以上に説明した変形例では、対象物を撮像する撮像装置500により生成されたカメラ画像CPを用いる態様について説明した。ここで、撮像装置500は、センシング部の一例であり、カメラ画像CPは、センシング部により生成される検出画像の一例である。
 撮像装置500に代えて、対象物の3次元位置を表す検出画像を生成するステレオカメラやTOF(Time-of-Flight)カメラがセンシング部として用いられてもよい。この場合、カメラ画像CPだけでなく、学習用画像LPにも同様に生成された3次元位置を表す検出画像が用いられる。
 また、撮像装置500に代えて、照射光を射出し、射出された照射光の反射光を利用して対象物の距離を表す検出画像を生成するLiDAR(Light Detection And Ranging)がセンシング部として用いられてもよい。この場合、カメラ画像CPだけでなく、学習用画像LPにも同様に生成された対象物の距離を表す検出画像が用いられる。
1 ロボットシステム
10 設定装置
20 画像認識システム
100,100A,100B ロボット
300 情報処理装置
400,400A,400B 入出力装置
410 タッチスクリーン
500 撮像装置
600 ロボット制御装置
3002 画像処理部(第1画像処理部、第2画像処理部、第3画像処理部)
3003,3004 指標処理部
3005,3006 画像合成部
3007,3008 入力解析部(位置検出部、サイズ検出部、姿勢検出部)
3009,3010 変換部(位置情報検出部、サイズ情報検出部、姿勢情報検出部、出力部)
W 瓶(対象物)

Claims (34)

  1.  対象物が映し出される画面上で指示される前記対象物の位置である指示位置を検出する位置検出部と、
     前記画面上で指示される前記対象物の属性である指示属性を検出する属性検出部と、
     前記指示位置に基づき、前記対象物の実物の位置を検出する位置情報検出部と、
     前記指示属性に基づき、前記対象物の実物の属性を検出する属性情報検出部と、
     前記指示位置を表す位置指標と前記対象物の実物の属性を表す属性指標とを生成し前記画面上に表示する指標処理部と、
     前記対象物の実物の位置及び属性の情報を含む対象物情報を出力する出力部とを含む
     情報処理装置。
  2.  前記属性検出部は、前記画面上で指示される前記対象物のサイズである指示サイズを検出するサイズ検出部であり、
     前記属性情報検出部は、前記指示サイズに基づき、前記対象物の実物のサイズを検出するサイズ情報検出部であり、
     前記指標処理部は、前記指示位置を表す位置指標と前記対象物の実物のサイズを表すサイズ指標とを生成し前記画面上に表示し、
     前記出力部は、前記対象物の実物の位置及びサイズの情報を含む対象物情報を出力する
     請求項1に記載の情報処理装置。
  3.  前記対象物が映し出される画像を処理することで前記画像から前記対象物を抽出し、抽出された前記対象物の実物の位置及びサイズを検出する第1画像処理部をさらに含み、
     前記指標処理部は、前記第1画像処理部によって検出された前記対象物の実物の位置及びサイズに対応する前記位置指標及び前記サイズ指標を生成し表示する
     請求項2に記載の情報処理装置。
  4.  前記位置検出部は、前記画面上で加えられる前記位置指標への修正又は削除の指示を検出し、前記指示に従って前記指示位置を修正又は削除し、
     前記位置情報検出部は、修正又は削除された前記指示位置に基づき、前記対象物の実物の位置の情報を修正又は削除し、
     前記指標処理部は、修正又は削除された前記指示位置に基づき、前記位置指標を修正又は削除し、
     前記出力部は、修正又は削除された前記対象物の実物の位置の情報を含む前記対象物情報を出力する
     請求項2または3に記載の情報処理装置。
  5.  前記サイズ検出部は、前記画面上で加えられる前記サイズ指標への修正又は削除の指示を検出し、前記指示に従って前記指示サイズを修正又は削除し、
     前記サイズ情報検出部は、修正又は削除された前記指示サイズに基づき、前記対象物の実物のサイズの情報を修正又は削除し、
     前記指標処理部は、修正又は削除された前記対象物の実物のサイズに基づき、前記サイズ指標を修正又は削除し、
     前記出力部は、修正又は削除された前記対象物の実物のサイズの情報を含む前記対象物情報を出力する
     請求項2~4のいずれか一項に記載の情報処理装置。
  6.  前記サイズ検出部は、前記画面上でなされた指示が形成する軌跡に対応するサイズを前記指示サイズとして検出する
     請求項2~5のいずれか一項に記載の情報処理装置。
  7.  前記出力部は、前記対象物情報を、前記対象物の実物に対する処理作業を行うロボットを制御する制御装置に出力する
     請求項2~6のいずれか一項に記載の情報処理装置。
  8.  前記属性検出部は、前記画面上で指示される前記対象物の姿勢である指示姿勢を検出する姿勢検出部であり、
     前記属性情報検出部は、前記指示姿勢に基づき、前記対象物の実物の姿勢を検出する姿勢情報検出部であり、
     前記指標処理部は、前記指示位置を表す位置指標と前記指示姿勢を表す姿勢指標とを生成し前記画面上に表示し、
     前記出力部は、前記対象物の実物の位置及び姿勢の情報を含む対象物情報を出力する
     請求項1に記載の情報処理装置。
  9.  前記対象物が映し出される画像を処理することで、前記画像から前記対象物を抽出し且つ抽出された前記対象物の実物の位置及び姿勢を検出する第1画像処理部をさらに含み、
     前記指標処理部は、前記第1画像処理部によって検出された前記対象物の実物の位置及び姿勢に対応する前記位置指標及び前記姿勢指標を生成し表示する
     請求項8に記載の情報処理装置。
  10.  前記姿勢検出部は、前記画面上で加えられる前記姿勢指標への修正又は削除の指示を検出し、前記指示に従って前記指示姿勢を修正又は削除し、
     前記姿勢情報検出部は、修正又は削除された前記指示姿勢に基づき、前記対象物の実物の姿勢の情報を修正又は削除し、
     前記指標処理部は、修正又は削除された前記指示姿勢に基づき、前記姿勢指標を修正又は削除し、
     前記出力部は、修正又は削除された前記対象物の実物の姿勢の情報を含む前記対象物情報を出力する
     請求項8または9に記載の情報処理装置。
  11.  前記姿勢検出部は、前記画面上でなされた指示が形成する軌跡に対応する方向を前記指示姿勢として検出する
     請求項8~10のいずれか一項に記載の情報処理装置。
  12.  前記画面上で指示される前記対象物のサイズである指示サイズを検出するサイズ検出部と、
     前記指示サイズに基づき、前記対象物の実物のサイズを検出するサイズ情報検出部とをさらに含み、
     前記指標処理部は、前記対象物の実物のサイズを表すサイズ指標をさらに生成し前記画面上に表示し、
     前記出力部は、前記対象物の実物のサイズの情報をさらに含む前記対象物情報を出力する
     請求項8~11のいずれか一項に記載の情報処理装置。
  13.  前記対象物が映し出される画像を処理することで、前記画像から前記対象物を抽出し且つ抽出された前記対象物の実物のサイズを検出する第2画像処理部をさらに含み、
     前記指標処理部は、前記第2画像処理部によって検出された前記対象物の実物のサイズに対応する前記サイズ指標を生成し表示する
     請求項12に記載の情報処理装置。
  14.  前記サイズ検出部は、前記画面上で加えられる前記サイズ指標への修正又は削除の指示を検出し、前記指示に従って前記指示サイズを修正又は削除し、
     前記サイズ情報検出部は、修正又は削除された前記指示サイズに基づき、前記対象物の実物のサイズの情報を修正又は削除し、
     前記指標処理部は、修正又は削除された前記対象物の実物のサイズに基づき、前記サイズ指標を修正又は削除し、
     前記出力部は、修正又は削除された前記対象物の実物のサイズの情報を含む前記対象物情報を出力する
     請求項12または13に記載の情報処理装置。
  15.  前記サイズ検出部は、前記画面上でなされた指示が形成する軌跡に対応するサイズを前記指示サイズとして検出する
     請求項12~14のいずれか一項に記載の情報処理装置。
  16.  前記位置検出部は、前記画面上で加えられる前記位置指標への修正又は削除の指示を検出し、前記指示に従って前記指示位置を修正又は削除し、
     前記位置情報検出部は、修正又は削除された前記指示位置に基づき、前記対象物の実物の位置の情報を修正又は削除し、
     前記指標処理部は、修正又は削除された前記指示位置に基づき、前記位置指標を修正又は削除し、
     前記出力部は、修正又は削除された前記対象物の実物の位置の情報を含む前記対象物情報を出力する
     請求項8~15のいずれか一項に記載の情報処理装置。
  17.  前記出力部は、前記対象物情報を、前記対象物の実物に対する処理作業を行うロボットを制御する制御装置に出力する
     請求項8~16のいずれか一項に記載の情報処理装置。
  18.  前記対象物が映し出される画像を処理することで前記画像から前記対象物の実物の位置及び属性を検出する画像処理部をさらに含み、
     前記指標処理部は、前記画像処理部によって検出された前記対象物の実物の位置及び属性に対応する前記位置指標及び前記属性指標を生成し表示する
     請求項1~17のいずれか一項に記載の情報処理装置。
  19.  前記画像処理部は、学習用画像を入力データとし、前記学習用画像に含まれる対象物の位置及び属性を教師データとして機械学習により予め生成された学習済みモデルを用いて、前記画像から前記対象物の実物の位置及び属性を検出する、
     請求項18に記載の情報処理装置。
  20.  前記位置検出部は、前記画面上で加えられる前記位置指標への修正の指示を検出し、前記指示に従って前記指示位置を修正し、
     修正された前記指示位置を前記画像と関連付けて保存する保存処理部をさらに備える、
     請求項18または19に記載の情報処理装置。
  21.  前記属性検出部は、前記画面上で加えられる前記属性指標への修正の指示を検出し、前記指示に従って前記指示属性を修正し、
     修正された前記指示属性を前記画像と関連付けて保存する保存処理部をさらに備える、
     請求項18~20のいずれか一項に記載の情報処理装置。
  22.  前記画像は、前記対象物をセンシングするセンシング部により生成された検出画像である、
     請求項18~21のいずれか一項に記載の情報処理装置。
  23.  前記対象物の属性は、前記対象物のサイズ、姿勢、色、又は状態である、
     請求項1~22のいずれか一項に記載の情報処理装置。
  24.  学習用画像並びに前記学習用画像に含まれる対象物の位置及び属性を取得する取得部と、
     前記学習用画像を入力データとし、前記対象物の位置及び属性を教師データとして、画像から対象物の位置及び属性を推定するための学習済みモデルを機械学習により生成する学習部と、
     を備える学習装置。
  25.  前記取得部は、請求項20または21に記載の情報処理装置において保存された画像並びに修正された対象物の指示位置及び指示属性のうちの少なくとも1つを取得し、
     前記学習部は、前記画像を入力データとし、修正された前記対象物の指示位置及び指示属性のうちの少なくとも1つを教師データとして、前記学習済みモデルの再学習を行う、
     請求項24に記載の学習装置。
  26.  学習用画像並びに前記学習用画像に含まれる対象物の位置及び属性を取得し、
     前記学習用画像を入力データとし、前記対象物の位置及び属性を教師データとして、画像から対象物の位置及び属性を推定するための学習済みモデルを機械学習により生成する、
     学習済みモデルの生成方法。
  27.  請求項1~23のいずれか一項に記載の情報処理装置と、
     前記画面を表示するディスプレイと、
     前記指示の入力を受け付け前記情報処理装置に出力する入力装置とを備える
     設定装置。
  28.  前記ディスプレイの機能と前記入力装置の機能とを含むタッチスクリーンを備える
     請求項27に記載の設定装置。
  29.  請求項27または28に記載の設定装置と、
     前記対象物の実物を撮像し、撮像された画像を前記設定装置に出力する撮像装置とを備える
     画像認識システム。
  30.  前記情報処理装置は、前記対象物の実物が撮像された画像を処理することで、前記画像から前記対象物を抽出し且つ抽出された前記対象物の実物の位置、サイズ及び姿勢を検出する第3画像処理部をさらに含み、
     前記指標処理部は、前記第3画像処理部によって検出された前記対象物の実物の位置、サイズ及び姿勢に対応する前記位置指標、サイズ指標及び姿勢指標を生成し前記ディスプレイの画面上に表示する
     請求項29に記載の画像認識システム。
  31.  請求項29または30に記載の画像認識システムと、
     前記対象物の実物に対する処理作業を行うロボットと、
     前記ロボットを制御する制御装置とを備え、
     前記制御装置は、前記情報処理装置の前記出力部から出力される前記対象物情報を用いて、前記対象物の実物を認識し、前記ロボットに前記対象物の実物を処理させる
     ロボットシステム。
  32.  画面上に映し出される対象物の実物を認識するための前記対象物の位置及びサイズの設定方法であって、
     前記画面上で指示される前記対象物の位置である指示位置を検出し、
     前記画面上で指示される前記対象物のサイズである指示サイズを検出し、
     前記指示位置に基づき、前記対象物の実物の位置を検出し、
     前記指示サイズに基づき、前記対象物の実物のサイズを検出し、
     前記指示位置を表す位置指標と前記対象物の実物のサイズを表すサイズ指標とを生成し前記画面上に表示し、
     前記対象物の実物の位置及びサイズの情報を含む対象物情報を出力する
     設定方法。
  33.  画面上に映し出される対象物の実物を認識するための前記対象物の位置及び姿勢の設定方法であって、
     前記画面上で指示される前記対象物の位置である指示位置を検出し、
     前記画面上で指示される前記対象物の姿勢である指示姿勢を検出し、
     前記指示位置に基づき、前記対象物の実物の位置を検出し、
     前記指示姿勢に基づき、前記対象物の実物の姿勢を検出し、
     前記指示位置を表す位置指標と前記指示姿勢を表す姿勢指標とを生成し前記画面上に表示し、
     前記対象物の実物の位置及び姿勢の情報を含む対象物情報を出力する
     設定方法。
  34.  前記画面上で指示される前記対象物のサイズである指示サイズを検出し、
     前記指示サイズに基づき、前記対象物の実物のサイズを検出し、
     前記対象物の実物のサイズを表すサイズ指標をさらに生成し前記画面上に表示し、
     前記対象物の実物のサイズの情報をさらに含む前記対象物情報を出力する
     請求項33に記載の設定方法。
PCT/JP2020/032207 2019-08-26 2020-08-26 情報処理装置、設定装置、画像認識システム、ロボットシステム、設定方法、学習装置、及び学習済みモデルの生成方法 WO2021039850A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021542968A JP7261306B2 (ja) 2019-08-26 2020-08-26 情報処理装置、設定装置、画像認識システム、ロボットシステム、設定方法、学習装置、及び学習済みモデルの生成方法
CN202080060150.5A CN114286739B (zh) 2019-08-26 2020-08-26 信息处理装置、设定装置及方法、图像识别系统、机器人系统、学习装置以及学习完毕模型的生成方法
EP20856025.0A EP4023398A4 (en) 2019-08-26 2020-08-26 INFORMATION PROCESSING DEVICE, CONFIGURATION DEVICE, IMAGE RECOGNITION SYSTEM, ROBOT SYSTEM, CONFIGURATION METHOD, LEARNING DEVICE, AND LEARNED MODEL GENERATION METHOD
US17/638,221 US20220292708A1 (en) 2019-08-26 2020-08-26 Information processing device, setting apparatus, image recognition system, robot system, setting method, learning device, and method of generating learned model

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-154103 2019-08-26
JP2019154103 2019-08-26

Publications (1)

Publication Number Publication Date
WO2021039850A1 true WO2021039850A1 (ja) 2021-03-04

Family

ID=74684794

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/032207 WO2021039850A1 (ja) 2019-08-26 2020-08-26 情報処理装置、設定装置、画像認識システム、ロボットシステム、設定方法、学習装置、及び学習済みモデルの生成方法

Country Status (5)

Country Link
US (1) US20220292708A1 (ja)
EP (1) EP4023398A4 (ja)
JP (1) JP7261306B2 (ja)
CN (1) CN114286739B (ja)
WO (1) WO2021039850A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023022237A1 (ja) * 2021-08-19 2023-02-23 京セラ株式会社 ロボットの保持態様決定装置、保持態様決定方法、及びロボット制御システム
WO2023067656A1 (ja) * 2021-10-18 2023-04-27 株式会社Pfu 物体処理装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922368B1 (en) * 2020-12-11 2024-03-05 Amazon Technologies, Inc. Object classification exception handling via machine learning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009241247A (ja) 2008-03-10 2009-10-22 Kyokko Denki Kk ステレオ画像型検出移動装置
JP2013173209A (ja) * 2012-02-27 2013-09-05 Sony Corp ロボット装置及びロボット装置の制御方法、並びにコンピューター・プログラム
JP2019046095A (ja) * 2017-08-31 2019-03-22 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008296330A (ja) * 2007-05-31 2008-12-11 Fanuc Ltd ロボットシミュレーション装置
EP2196881A1 (de) * 2008-12-04 2010-06-16 Siemens Aktiengesellschaft Bedieneinrichtung zur Bedienung einer Maschine aus der Automatisierungstechnik
US20120182296A1 (en) * 2009-09-23 2012-07-19 Han Dingnan Method and interface for man-machine interaction
US8094941B1 (en) * 2011-06-13 2012-01-10 Google Inc. Character recognition for overlapping textual user input
CN105518555B (zh) * 2014-07-30 2017-11-03 深圳市大疆创新科技有限公司 目标追踪系统及方法
RU2610587C2 (ru) * 2014-09-16 2017-02-13 Общество С Ограниченной Ответственностью "Яндекс" Способ пространственного хранения объекта посредством гибкой иерархической структуры и постоянный носитель информации
KR20160044194A (ko) * 2014-10-15 2016-04-25 주식회사 인프라웨어 터치 스크린을 구비하는 전자기기 상의 복수객체에서 객체를 선택하는 방법 및 장치
KR20170136750A (ko) * 2016-06-02 2017-12-12 삼성전자주식회사 전자 장치 및 그의 동작 방법
EP3557521B1 (en) * 2016-12-19 2024-09-25 Kabushiki Kaisha Yaskawa Denki Industrial device image recognition processor and controller
JP6542824B2 (ja) * 2017-03-13 2019-07-10 ファナック株式会社 入力画像から検出した対象物の像の尤度を計算する画像処理装置および画像処理方法
JP6549655B2 (ja) * 2017-08-03 2019-07-24 ファナック株式会社 物品搬送装置
JP6687591B2 (ja) * 2017-12-26 2020-04-22 ファナック株式会社 物品搬送装置、ロボットシステムおよび物品搬送方法
JP7108861B2 (ja) * 2018-01-31 2022-07-29 パナソニックIpマネジメント株式会社 掃除機の制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009241247A (ja) 2008-03-10 2009-10-22 Kyokko Denki Kk ステレオ画像型検出移動装置
JP2013173209A (ja) * 2012-02-27 2013-09-05 Sony Corp ロボット装置及びロボット装置の制御方法、並びにコンピューター・プログラム
JP2019046095A (ja) * 2017-08-31 2019-03-22 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4023398A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023022237A1 (ja) * 2021-08-19 2023-02-23 京セラ株式会社 ロボットの保持態様決定装置、保持態様決定方法、及びロボット制御システム
WO2023067656A1 (ja) * 2021-10-18 2023-04-27 株式会社Pfu 物体処理装置

Also Published As

Publication number Publication date
US20220292708A1 (en) 2022-09-15
CN114286739B (zh) 2024-04-12
JPWO2021039850A1 (ja) 2021-03-04
JP7261306B2 (ja) 2023-04-19
EP4023398A4 (en) 2023-09-13
CN114286739A (zh) 2022-04-05
EP4023398A1 (en) 2022-07-06

Similar Documents

Publication Publication Date Title
WO2021039850A1 (ja) 情報処理装置、設定装置、画像認識システム、ロボットシステム、設定方法、学習装置、及び学習済みモデルの生成方法
CN112091970B (zh) 具有增强的扫描机制的机器人系统
EP3458919B1 (en) Robot assisted object learning vision system
JP5897624B2 (ja) ワークの取出工程をシミュレーションするロボットシミュレーション装置
CN108961144B (zh) 图像处理系统
Nerakae et al. Using machine vision for flexible automatic assembly system
JP2012101320A (ja) 画像生成装置、画像生成方法、およびプログラム
US20230044420A1 (en) Systems and methods for object detection
Taylor et al. Visual perception and robotic manipulation: 3D object recognition, tracking and hand-eye coordination
US20230251631A1 (en) A method for manufacturing construction components, a portable manufacturing unit, a software application executable on a machine tool system for controlling a tool, the machine tool system, and a method of machining the workpiece using the tool
WO2019059343A1 (ja) ワーク情報処理装置およびワークの認識方法
JP2016170050A (ja) 位置姿勢計測装置、位置姿勢計測方法及びコンピュータプログラム
WO2023092519A1 (zh) 抓取控制方法、装置、电子设备和存储介质
Rückert et al. Calibration of a modular assembly system for personalized and adaptive human robot collaboration
CN114187312A (zh) 目标物的抓取方法、装置、系统、存储介质及设备
JP7481205B2 (ja) ロボットシステム、ロボットの制御方法、情報処理装置、コンピュータプログラム、学習装置、及び学習済みモデルの生成方法
KR102452315B1 (ko) 딥러닝과 마커를 이용한 비전인식을 통한 로봇 제어장치 및 그 방법
CN116175542A (zh) 抓取控制方法、装置、电子设备和存储介质
CN116188559A (zh) 图像数据处理方法、装置、电子设备和存储介质
Wang et al. RASCAL: Robotic Arm for Sherds and Ceramics Automated Locomotion
Bellandi et al. Development and characterization of a multi-camera 2D-vision system for enhanced performance of a drink serving robotic cell
Tellaeche et al. 6DOF pose estimation of objects for robotic manipulation. A review of different options
Bottarel Where’s my mesh? An exploratory study on model-free grasp planning
JP7391342B2 (ja) 計算システム、方法及び非一時的コンピュータ可読媒体
Gomes Trajectory Generation for a Robot Manipulator using data from a 2D Industrial Laser

Legal Events

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

Ref document number: 20856025

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021542968

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020856025

Country of ref document: EP

Effective date: 20220328