Image Recognition O...
 
Notifications
Clear all

Image Recognition Of A Date Coder Image.

23 Posts
7 Users
8 Likes
1,291 Views
 Leon
(@leon)
Active Member
Joined: 1 year ago
Posts: 7
Topic starter  

Hello Guys

At our plant, we have several laser date code machines like the one shown below

image

 this machine can print the manufactured and best before date to the containers as it travels on the conveyor. Text displayed on the container as shown below

date code recognition
BBD

the laser engraves the text on the container.

The machine before the laser date coder machine is the Labeller. If the Laser Coder detects a fault, such as, power outage, lack of air pressure etc, it sends a signal to the Labeller machine to stop.

 Problem

unfortunately, the Laser coder machine can not detect when the lens is clouded with dust. whenever this happens, it causes partial coding [letters missing]. Because of the speed and the dusty environment of the plant, within a minute we can have four pallets with defective coding and because of ISO standards re-coding is not allowed.

Inversion

I want to build a stand-alone system to track the text image, once I have three bottles of poorly printed images I must have an output from the Arduino controller. I can use this signal to stop the Labeller Machine.

I prefer to work in C++ since I have some knowledge.

Questions

Q.1 Is this project possible using Pixy2 Camera and Arduino?

Q.2 What other Hardware is Necessary?

Q.3 What software is necessary?

Q.4 Which store I can shop items?

 

BRGS.

Leon


   
ron bentley reacted
Quote
robotBuilder
(@robotbuilder)
Noble Member
Joined: 4 years ago
Posts: 2069
 

@leon

So essentially you want the computer to look at the label to determine if the writing is readable?
Perhaps a optical character reader can be used to read the code and then the result can be compared with what it should be?

 


   
ron bentley reacted
ReplyQuote
Ron
 Ron
(@zander)
Illustrious Member
Joined: 3 years ago
Posts: 5902
 

@leon The key is in your statement

within a minute we can have four pallets with defective coding 

that is a lot of product so that line is moving very fast. I am doubtful hobby level cameras will be able to deal with that but since the cost to try is low and your reward is no doubt very high you should try. As far as hardware I don't know about the pixy, I would be more inclined to use the new HI Q RasPi camera. The problem will be speed of acquisition + speed of image analysis must be less than the inter-product gap. If lighting is not optimal then a flash is needed but that may impact either staff, or other processes on the line. I am not very confident that this is doable, but it's worth a try. If it was me with your experience I would find an image processing library and test it for both speed and accuracy. If it can keep up then move forward, otherwise ....

 

 

 

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
Inq reacted
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 2 years ago
Posts: 1846
 

@leon - I've always been curious about the problems engineers run into building the manufacturing equipment.  Although I think the project you have laid out sounds cool and would interest many people on the forum... I have to ask the low-tech question...

Wouldn't it easier to just clean the lens periodically (proactively)?  Or even run it continuously to keep dust off it in the first place.  Since you said it's a dusty environment, using an air-jet wouldn't even interrupt the processing.  Or if that isn't readily available... a servo with a rag.  😆 

VBR,

Inq

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ron bentley reacted
ReplyQuote
robotBuilder
(@robotbuilder)
Noble Member
Joined: 4 years ago
Posts: 2069
 

@inq 

I had the same thoughts but figured there must be  something about the process I didn't know about.

 


   
ReplyQuote
frogandtoad
(@frogandtoad)
Noble Member
Joined: 4 years ago
Posts: 1506
 

@leon

Posted by: @leon

Hello Guys

At our plant, we have several laser date code machines like the one shown below

image

 this machine can print the manufactured and best before date to the containers as it travels on the conveyor. Text displayed on the container as shown below

date code recognition
BBD

the laser engraves the text on the container.

The machine before the laser date coder machine is the Labeller. If the Laser Coder detects a fault, such as, power outage, lack of air pressure etc, it sends a signal to the Labeller machine to stop.

 Problem

unfortunately, the Laser coder machine can not detect when the lens is clouded with dust. whenever this happens, it causes partial coding [letters missing]. Because of the speed and the dusty environment of the plant, within a minute we can have four pallets with defective coding and because of ISO standards re-coding is not allowed.

Inversion

I want to build a stand-alone system to track the text image, once I have three bottles of poorly printed images I must have an output from the Arduino controller. I can use this signal to stop the Labeller Machine.

I prefer to work in C++ since I have some knowledge.

Questions

Q.1 Is this project possible using Pixy2 Camera and Arduino?

Q.2 What other Hardware is Necessary?

Q.3 What software is necessary?

Q.4 Which store I can shop items?

 

BRGS.

Leon

I don't have an issue where members need help for their own hobby projects etc..., but I am very uneasy about this one in particular, as you work for a massive corporation such as "Coca Cola", and this appears to be a project for them, of which you would personally be handsomely rewarded from the help you receive here (should you receive it)... in essence, you are acting on behalf of, and representing your company "Coca Cola", in asking this forum for help, and I find that very disturbing to say the least!

"Coca Cola" makes billions and trillions of dollars, so if I personally help you, I would expect a handsome percentage of profit in return - DEAL? 😉

Good luck!


   
ron bentley and Ron reacted
ReplyQuote
Ron
 Ron
(@zander)
Illustrious Member
Joined: 3 years ago
Posts: 5902
 

@frogandtoad Since he says he is a student, he likely wouldn't get any kind of significant reward if he was able to 'fix' the problem. In this case he is more likely a naive student than an agent of coke but in any case, time to unsubscribe.

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
ReplyQuote
 Leon
(@leon)
Active Member
Joined: 1 year ago
Posts: 7
Topic starter  

@robotbuilder 

I will look at a video on optical character reader and weigh the option.

Leon


   
ReplyQuote
 Leon
(@leon)
Active Member
Joined: 1 year ago
Posts: 7
Topic starter  

@inq 

on a production plant, every second counts from the starting to the ending of production. if you have to stop and clean frequently it will affect your productivity and efficiency.

leon


   
ReplyQuote
 Leon
(@leon)
Active Member
Joined: 1 year ago
Posts: 7
Topic starter  

@frogandtoad 

I am sorry. I work for Banks Dih Limited located in Guyana who has the Coca-Cola Franchise. No big dollars. I am a Final year University Student.

Leon  


   
ReplyQuote
Ron
 Ron
(@zander)
Illustrious Member
Joined: 3 years ago
Posts: 5902
 

@leon Very few here will help with 'homework' and even fewer will help a company looking for free work.

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
ReplyQuote
 Leon
(@leon)
Active Member
Joined: 1 year ago
Posts: 7
Topic starter  

@zander 

yea the plant run at 2400 bpm. In other words, you are saying that the speed would be an issue for the camera? And if you find one with the appropriate speed it needs to be compatible with the Arduino?

Leon


   
ReplyQuote
Ron
 Ron
(@zander)
Illustrious Member
Joined: 3 years ago
Posts: 5902
 

@leon Too much missing data, but I can tell you that the vision code was removed form Ver 3 as it took several minutes to process just one image. You need to find an industrial vision system like a friend of mine used to make or as has been suggested just direct a high speed air flow at the lens.

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
Inq reacted
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 2 years ago
Posts: 1846
 
Posted by: @leon

@zander 

yea the plant run at 2400 bpm. In other words, you are saying that the speed would be an issue for the camera? And if you find one with the appropriate speed it needs to be compatible with the Arduino?

Leon

No, that's not what he is saying.  The camera doesn't do the processing, it is the computer connected to it that tries to translate the image into text.  There is no Arduino on Earth that can handle 2400 high-resolution images and convert them to text in one minute.  As @zander said it would take multiple minutes for ONE bottle.  And ESP32 is only 10x faster... It can't handle 2400 bpm. 

I imagine a high-end Windows computer possibly using one of the high-end GPU's so you can use the Cuda cores to the the OCR MIGHT be able to do it, if you are well versed in using C/C++ and Windows SDK and Cuda SDK.

http://www.cs.uky.edu/~raphael/grad/keepingCurrent/reed-ocr.pdf

You still haven't addressed why the air blowing across the lens to KEEP the dust from getting on the lens is a non-starter.  

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Ron
 Ron
(@zander)
Illustrious Member
Joined: 3 years ago
Posts: 5902
 

@inq I am afraid we have a major case of DK here. Where is that ignore button anyway?

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
ReplyQuote
Page 1 / 2