'image' object has no attribute 'classify_object'


I tried to run cnn_1.py in the example list. But an error pop up ‘image’ object has no attribute ‘classify_object’. Could anyone help me? Thanks!

# CMSIS CNN example.
import sensor, image, time, os

sensor.reset()                          # Reset and initialize the sensor.
sensor.set_pixformat(sensor.RGB565)     # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.QVGA)       # Set frame size to QVGA (320x240)
sensor.set_windowing((200, 200))        # Set 128x128 window.
sensor.skip_frames(time = 100)          # Wait for settings take effect.

labels = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']

clock = time.clock()    # Create a clock object to track the FPS.
    clock.tick()        # Update the FPS clock.
    img = sensor.snapshot().lens_corr(1.6)  # Take a picture and return the image.
    out = img.classify_object()
    # print label_id:confidence
    #for i in range(0, len(out)):
    #    print("%s:%d "%(labels[i], out[i]), end="")
    max_idx = out.index(max(out))
    print("%s : %0.2f%% "%(labels[max_idx], (out[max_idx]/128)*100))

    #print(clock.fps())             # Note: OpenMV Cam runs about half as fast when connected
                                    # to the IDE. The FPS should increase once disconnected.

That example is not valid anymore and should be removed. We changed the API for that code…

I see that’s the CNN example under feature detection.

Will put a bug on removing that…


Then what’s the new function for object classification? Any other Haar Cascade besides frontal face and eye?

Yes, we have TensorFLow from Google onboard now. Please see the Machine Learning examples (in particular, the person detection one).

Note that while we can run Google Tensor Flow lite for Microcontroller models the whole TensorFlow library is still Alpha right now. Google is missing some layers which makes running anything other than mobilenets hard.