A comprehensive system for detecting fake vs real integrated circuits (ICs) using image analysis and text extraction.
- GUI Interface: User-friendly Tkinter interface for easy image upload and analysis
- Text Extraction: Extracts text from IC images using advanced image processing
- Database Verification: Cross-references extracted text against IC_DATA.csv database Where Data is extracted from OME Datasheet
- Fake Detection: Advanced algorithms to detect fake ICs based on multiple quality indicators
- Responsive Design: Clean, responsive GUI that adapts to different screen sizes
ic_detector_gui_fixed.py- Main GUI application (recommended)ic_detector_gui_final.py- GUI with multiple OCR methodsic_detector_gui_fallback.py- GUI with basic analysis (fallback)ic_detector_gui.py- GUI with PaddleOCR integration (requires PaddleOCR)IC_DATA.csv- Database of 60+ IC types from various manufacturersReal_IC/- Folder containing real IC images for testingFake_IC/- Folder containing fake IC images for testingIC.ipynb- Jupyter notebook with original analysis code
- Install required Python packages:
pip install opencv-python numpy pandas pillow tkinter- For enhanced OCR capabilities (optional):
pip install easyocr pytesseract- Recommended (Fixed Version):
python ic_detector_gui_fixed.py- Final Version:
python ic_detector_gui_final.py- Fallback Version:
python ic_detector_gui_fallback.py- With PaddleOCR (if installed):
python ic_detector_gui.py- Select Image: Click "Select Image" to choose an IC image file
- Analyze: Click "Analyze" to process the image
- View Results: See the analysis results in the right panel
The system provides:
- Prediction: REAL or FAKE with confidence percentage
- Extracted Text: Text found on the IC
- Database Match: Information about matched IC from database
- Quality Metrics: Image sharpness, contrast, brightness, edge density
- Fake Indicators: Specific reasons why an IC might be fake
The IC_DATA.csv file contains information about 60+ IC types from manufacturers including:
- Texas Instruments
- Analog Devices
- Maxim Integrated
- Linear Technology
- National Semiconductor
- STMicroelectronics
- Microchip
- Intel
- Fairchild Semiconductor
- ON Semiconductor
The system uses multiple criteria to determine if an IC is fake:
- Image Quality: Sharpness, contrast, brightness, edge density
- Text Extraction: Number and quality of text elements
- Database Matching: Comparison with known IC patterns
- Content Analysis: Detection of unusual characters or patterns
- Consistency Checks: Verification of text consistency
- JPEG (.jpg, .jpeg)
- PNG (.png)
- BMP (.bmp)
- TIFF (.tiff)
- Python 3.7+
- Windows/Linux/macOS
- Minimum 4GB RAM
- OpenCV, NumPy, Pandas, Pillow, Tkinter
- "No module named 'paddleocr'": Use the fallback version instead
- Poor text extraction: Ensure images are well-lit and high resolution
- GUI not responding: Check if image file is corrupted or too large
- Use high-resolution images (800x600 or higher)
- Ensure good lighting and contrast
- Avoid blurry or distorted images
- Use images with clear text markings
To add new IC types to the database:
- Edit
IC_DATA.csv - Add manufacturer, part number, and text patterns
- Test with sample images
This project is for educational and research purposes.